[
{
    "branch": "main",
    "index": "0",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:17:52.678114Z",
                    "start": "2026-09-25T02:17:49.976461Z"
                },
                "id": "0242ac17-0010-0842-0233-000000000002",
                "name": "localhost"
            },
            "tasks": [
                {
                    "hosts": {
                        "localhost": {
                            "action": "gather_facts",
                            "ansible_facts": {
                                "ansible_apparmor": {
                                    "status": "disabled"
                                },
                                "ansible_architecture": "x86_64",
                                "ansible_bios_date": "NA",
                                "ansible_bios_vendor": "NA",
                                "ansible_bios_version": "NA",
                                "ansible_board_asset_tag": "NA",
                                "ansible_board_name": "NA",
                                "ansible_board_serial": "NA",
                                "ansible_board_vendor": "NA",
                                "ansible_board_version": "NA",
                                "ansible_chassis_asset_tag": "NA",
                                "ansible_chassis_serial": "NA",
                                "ansible_chassis_vendor": "NA",
                                "ansible_chassis_version": "NA",
                                "ansible_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": "ttyS0",
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_date_time": {
                                    "date": "2026-09-25",
                                    "day": "25",
                                    "epoch": "1790302670",
                                    "epoch_int": "1790302670",
                                    "hour": "02",
                                    "iso8601": "2026-09-25T02:17:50Z",
                                    "iso8601_basic": "20260925T021750817239",
                                    "iso8601_basic_short": "20260925T021750",
                                    "iso8601_micro": "2026-09-25T02:17:50.817239Z",
                                    "minute": "17",
                                    "month": "09",
                                    "second": "50",
                                    "time": "02:17:50",
                                    "tz": "UTC",
                                    "tz_dst": "UTC",
                                    "tz_offset": "+0000",
                                    "weekday": "Friday",
                                    "weekday_number": "5",
                                    "weeknumber": "38",
                                    "year": "2026"
                                },
                                "ansible_devices": {},
                                "ansible_distribution": "Debian",
                                "ansible_distribution_major_version": "12",
                                "ansible_distribution_release": "bookworm",
                                "ansible_distribution_version": "12",
                                "ansible_dns": {
                                    "nameservers": [
                                        "127.0.0.11"
                                    ],
                                    "options": {
                                        "edns0": true,
                                        "ndots": "0",
                                        "trust-ad": true
                                    },
                                    "search": [
                                        "openstacklocal"
                                    ]
                                },
                                "ansible_domain": "",
                                "ansible_effective_group_id": 0,
                                "ansible_effective_user_id": 0,
                                "ansible_env": {
                                    "ANSIBLE_CONFIG": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/ansible/pre_playbook_0/ansible.cfg",
                                    "DEBIAN_FRONTEND": "noninteractive",
                                    "GPG_KEY": "A035C8C19219BA821ECEA86B64E628F8D684696D",
                                    "HOME": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work",
                                    "HOSTNAME": "2d72f0692154",
                                    "KUBECONFIG": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/kube/config",
                                    "LANG": "C.UTF-8",
                                    "PATH": "/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                                    "PWD": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_0/github.com/vexxhost/zuul-config/playbooks/base",
                                    "PYTHONPATH": "/var/lib/zuul/ansible/9",
                                    "PYTHON_SHA256": "8d3ed8ec5c88c1c95f5e558612a725450d2452813ddad5e58fdb1a53b1209b78",
                                    "PYTHON_VERSION": "3.11.14",
                                    "SSH_AGENT_PID": "564196",
                                    "SSH_AUTH_SOCK": "/tmp/ssh-zuIJQUVPEQWq/agent.564195",
                                    "TMP": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/tmp",
                                    "ZUUL_ANSIBLE_SPLIT_STREAMS": "False",
                                    "ZUUL_JOBDIR": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64",
                                    "ZUUL_JOB_FAILURE_OUTPUT": "[]",
                                    "ZUUL_JOB_LOG_CONFIG": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/ansible/logging.json",
                                    "ZUUL_OUTPUT_MAX_BYTES": "1073741824"
                                },
                                "ansible_fibre_channel_wwn": [],
                                "ansible_fips": false,
                                "ansible_form_factor": "NA",
                                "ansible_fqdn": "2d72f0692154",
                                "ansible_hostname": "2d72f0692154",
                                "ansible_hostnqn": "",
                                "ansible_is_chroot": false,
                                "ansible_iscsi_iqn": "",
                                "ansible_kernel": "5.15.0-130-generic",
                                "ansible_kernel_version": "#140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024",
                                "ansible_loadavg": {
                                    "15m": 4.865234375,
                                    "1m": 13.28564453125,
                                    "5m": 7.7451171875
                                },
                                "ansible_local": {},
                                "ansible_lsb": {},
                                "ansible_lvm": "N/A",
                                "ansible_machine": "x86_64",
                                "ansible_memfree_mb": 3295,
                                "ansible_memory_mb": {
                                    "nocache": {
                                        "free": 10721,
                                        "used": 21369
                                    },
                                    "real": {
                                        "free": 3295,
                                        "total": 32090,
                                        "used": 28795
                                    },
                                    "swap": {
                                        "cached": 0,
                                        "free": 0,
                                        "total": 0,
                                        "used": 0
                                    }
                                },
                                "ansible_memtotal_mb": 32090,
                                "ansible_mounts": [
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/etc/resolv.conf",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/etc/hosts",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/ansible/9",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/ansible",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/kube",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/ansible/pre_playbook_0",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/etc/zuul/site-variables.yaml",
                                        "options": "ro,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 41240110,
                                        "block_size": 4096,
                                        "block_total": 263940717,
                                        "block_used": 222700607,
                                        "device": "/dev/vdb",
                                        "fstype": "ext4",
                                        "inode_available": 27514469,
                                        "inode_total": 67108864,
                                        "inode_used": 39594395,
                                        "mount": "/srv/static/logs",
                                        "options": "rw,nosuid,nodev,relatime,discard",
                                        "size_available": 168919490560,
                                        "size_total": 1081101176832,
                                        "uuid": "N/A"
                                    },
                                    {
                                        "block_available": 6944207,
                                        "block_size": 4096,
                                        "block_total": 40601580,
                                        "block_used": 33657373,
                                        "device": "/dev/vda1",
                                        "fstype": "ext4",
                                        "inode_available": 15977985,
                                        "inode_total": 20643840,
                                        "inode_used": 4665855,
                                        "mount": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/.ansible",
                                        "options": "rw,nosuid,nodev,relatime,discard,errors=remount-ro,bind",
                                        "size_available": 28443471872,
                                        "size_total": 166304071680,
                                        "uuid": "N/A"
                                    }
                                ],
                                "ansible_nodename": "2d72f0692154",
                                "ansible_os_family": "Debian",
                                "ansible_pkg_mgr": "apt",
                                "ansible_proc_cmdline": {
                                    "BOOT_IMAGE": "/boot/vmlinuz-5.15.0-130-generic",
                                    "console": [
                                        "tty1",
                                        "ttyS0"
                                    ],
                                    "ro": true,
                                    "root": "UUID=5a569d86-b935-46dd-ae79-7a72a25b6a4c"
                                },
                                "ansible_processor": [
                                    "0",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "1",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "2",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "3",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "4",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "5",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "6",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "7",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "8",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "9",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "10",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "11",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "12",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "13",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "14",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor",
                                    "15",
                                    "AuthenticAMD",
                                    "AMD EPYC-Rome Processor"
                                ],
                                "ansible_processor_cores": 1,
                                "ansible_processor_count": 16,
                                "ansible_processor_nproc": 16,
                                "ansible_processor_threads_per_core": 1,
                                "ansible_processor_vcpus": 16,
                                "ansible_product_name": "NA",
                                "ansible_product_serial": "NA",
                                "ansible_product_uuid": "NA",
                                "ansible_product_version": "NA",
                                "ansible_python": {
                                    "executable": "/usr/local/lib/zuul/ansible/9/bin/python",
                                    "has_sslcontext": true,
                                    "type": "cpython",
                                    "version": {
                                        "major": 3,
                                        "micro": 14,
                                        "minor": 11,
                                        "releaselevel": "final",
                                        "serial": 0
                                    },
                                    "version_info": [
                                        3,
                                        11,
                                        14,
                                        "final",
                                        0
                                    ]
                                },
                                "ansible_python_version": "3.11.14",
                                "ansible_real_group_id": 0,
                                "ansible_real_user_id": 0,
                                "ansible_selinux": {
                                    "status": "disabled"
                                },
                                "ansible_selinux_python_present": true,
                                "ansible_service_mgr": "bwrap",
                                "ansible_swapfree_mb": 0,
                                "ansible_swaptotal_mb": 0,
                                "ansible_system": "Linux",
                                "ansible_system_capabilities": "N/A",
                                "ansible_system_capabilities_enforced": "N/A",
                                "ansible_system_vendor": "NA",
                                "ansible_uptime_seconds": 53966123,
                                "ansible_user_dir": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work",
                                "ansible_user_gecos": "root",
                                "ansible_user_gid": 0,
                                "ansible_user_id": "root",
                                "ansible_user_shell": "/bin/bash",
                                "ansible_user_uid": 0,
                                "ansible_userspace_architecture": "x86_64",
                                "ansible_userspace_bits": "64",
                                "ansible_virtualization_role": "host",
                                "ansible_virtualization_tech_guest": [],
                                "ansible_virtualization_tech_host": [
                                    "kvm"
                                ],
                                "ansible_virtualization_type": "kvm",
                                "gather_subset": [
                                    "all"
                                ],
                                "module_setup": true
                            },
                            "changed": false,
                            "deprecations": [],
                            "warnings": []
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:50.924328Z",
                            "start": "2026-09-25T02:17:49.983100Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000002a",
                        "name": "Gathering Facts"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "include_role",
                            "changed": false,
                            "include_args": {
                                "name": "set-zuul-log-path-fact"
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:50.958780Z",
                            "start": "2026-09-25T02:17:50.930700Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000008",
                        "name": "Setup log path fact"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "zuul_log_path": "4c2/oss/4c2827eb28a5432898b5eee10be8af64"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000054",
                        "name": "set-zuul-log-path-fact",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/set-zuul-log-path-fact"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:51.090959Z",
                            "start": "2026-09-25T02:17:50.971112Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000056",
                        "name": "Set log path for a build"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "# Job Information\nAnsible Version: 2.16.18\nJob: atmosphere-common-molecule-secretgen-controller\nPipeline: check\nExecutor: 2d72f0692154\nTriggered by: https://github.com/vexxhost/atmosphere.common/pull/102\nEvent ID: 81533b40-b886-11f1-907e-0b9d88c18a3c\n"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:51.148145Z",
                            "start": "2026-09-25T02:17:51.110044Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000009",
                        "name": "Print job information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "debug",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": false,
                                    "failed": false,
                                    "msg": "# Node Information\nInventory Hostname: controller\nHostname: np0000193942\nUsername: zuul\nDistro: Ubuntu 24.04\nProvider: yul1\nRegion: ca-ymq-1\nLabel: ubuntu-noble\nProduct Name: OpenStack Nova\nInterface IP: 162.253.55.208\n",
                                    "zj_item": "controller"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000006",
                        "name": "emit-job-header",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/emit-job-header"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:51.261309Z",
                            "start": "2026-09-25T02:17:51.150739Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000000a",
                        "name": "Print node information"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/zuul-info",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/zuul-info",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 493,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/zuul-info",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/zuul-info",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:51.644186Z",
                            "start": "2026-09-25T02:17:51.271698Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000000f",
                        "name": "Ensure Zuul Ansible directory exists"
                    }
                },
                {
                    "hosts": {
                        "localhost": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "8dd9bf58a2f882293138c27c8d56223726333d38",
                            "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/zuul-info/inventory.yaml",
                            "diff": [],
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "inventory.yaml",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "8dd9bf58a2f882293138c27c8d56223726333d38",
                                    "content": null,
                                    "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/zuul-info",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": true,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/.ansible/tmp/ansible-tmp-1790302671.6748135-84-43086906706753/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "1c65e30c27fdba4c24fc328ad54692aa",
                            "mode": "0644",
                            "owner": "root",
                            "size": 356847,
                            "src": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/.ansible/tmp/ansible-tmp-1790302671.6748135-84-43086906706753/source",
                            "state": "file",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-00000000000d",
                        "name": "log-inventory",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/log-inventory"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:52.678114Z",
                            "start": "2026-09-25T02:17:51.647955Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000010",
                        "name": "Copy ansible inventory to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:18:02.448128Z",
                    "start": "2026-09-25T02:17:52.685106Z"
                },
                "id": "0242ac17-0010-0842-0233-000000000011",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "stat",
                            "changed": false,
                            "failed_when_result": false,
                            "invocation": {
                                "module_args": {
                                    "checksum_algorithm": "sha1",
                                    "follow": false,
                                    "get_attributes": true,
                                    "get_checksum": true,
                                    "get_mime": true,
                                    "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa"
                                }
                            },
                            "stat": {
                                "exists": false
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:52.924865Z",
                            "start": "2026-09-25T02:17:52.694751Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000018",
                        "name": "Check to see if ssh key was already created for this build"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "create-key-and-replace.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:52.957283Z",
                            "start": "2026-09-25T02:17:52.935433Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000019",
                        "name": "Create a new key in workspace based on build UUID"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-keygen",
                                "-t",
                                "rsa",
                                "-N",
                                "",
                                "-C",
                                "zuul-build-sshkey",
                                "-f",
                                "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa",
                                "-b",
                                "3072"
                            ],
                            "delta": "0:00:00.533670",
                            "end": "2026-09-25 02:17:53.921888",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-keygen -t rsa -N '' -C 'zuul-build-sshkey' -f /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa -b 3072",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0842-0233-00000000009c-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:17:53.388218",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Generating public/private rsa key pair.\nYour identification has been saved in /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa\nYour public key has been saved in /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa.pub\nThe key fingerprint is:\nSHA256:LMwPQ1/CT3m1CjxNyzO+3vyZxUAq9pOqTK9jSv2xjFA zuul-build-sshkey\nThe key's randomart image is:\n+---[RSA 3072]----+\n|            . .  |\n|       . . = o . |\n|      . o B B o  |\n|     + o = = *   |\n|      * E + + .  |\n|       B . o o o |\n|      o + . =   o|\n|     . +o= = +  +|\n|      .o=+* . o+.|\n+----[SHA256]-----+",
                            "stdout_lines": [
                                "Generating public/private rsa key pair.",
                                "Your identification has been saved in /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa",
                                "Your public key has been saved in /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa.pub",
                                "The key fingerprint is:",
                                "SHA256:LMwPQ1/CT3m1CjxNyzO+3vyZxUAq9pOqTK9jSv2xjFA zuul-build-sshkey",
                                "The key's randomart image is:",
                                "+---[RSA 3072]----+",
                                "|            . .  |",
                                "|       . . = o . |",
                                "|      . o B B o  |",
                                "|     + o = = *   |",
                                "|      * E + + .  |",
                                "|       B . o o o |",
                                "|      o + . =   o|",
                                "|     . +o= = +  +|",
                                "|      .o=+* . o+.|",
                                "+----[SHA256]-----+"
                            ],
                            "zuul_log_id": "0242ac17-0010-0842-0233-00000000009c-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:53.965657Z",
                            "start": "2026-09-25T02:17:52.977002Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000009c",
                        "name": "Create Temp SSH key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "include": "remote-linux.yaml",
                            "include_args": {}
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:53.997414Z",
                            "start": "2026-09-25T02:17:53.975161Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000009d",
                        "name": "Remote setup ssh keys (linux)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "lineinfile",
                            "changed": false,
                            "false_condition": "zuul_build_sshkey_cleanup",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:54.038125Z",
                            "start": "2026-09-25T02:17:54.014906Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000bc",
                        "name": "Remove previously added zuul-build-sshkey"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDUp6Mut8STTAn0P/83oAPIAopjdWTdzFrjBDynyTuXCBANjIeW7Dd1Mizkl9IUQsUHapvujgOxh68Gr3W0Pnzo/cLoQctQafqEElo87+G3Lv4DWQXeE1+C08Pnq1u7sO7nIKu/wA1g3PdBxMJ9mINhkxYRvrfsY0NRdgVtjgmqxiaFyV9H//eWvQ0nEdGksPcu84OcCrb9JCaIcZTVW1E0dV0/hPxT4qOm1x/BwW1YPeE9JeAaFvQ4nl177/kd/aGkjIKceAFeQTcosCs26C/DQOmbfgbxetG1xu2Yn0U8UYeYvfVTePJun8hJbawOoUY9qjrrpN1V2UGPyZpdOePXmsh+Ow7UryoeP5mt1HuSIoRk/5ykgVWU3/eUf35aOBWVCzPC1BXmDaCXzLZBdZy3Dtfv2rfDGvUAEZZ8d6AY6TSB2AHN2EYZr2poDit6p89sJhfuvSo+GXdmLpmV6x+NOiJPA2LrcX1UhjOc+pS4F7aUyJFpgU37DjvIUdViuk= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "present",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDUp6Mut8STTAn0P/83oAPIAopjdWTdzFrjBDynyTuXCBANjIeW7Dd1Mizkl9IUQsUHapvujgOxh68Gr3W0Pnzo/cLoQctQafqEElo87+G3Lv4DWQXeE1+C08Pnq1u7sO7nIKu/wA1g3PdBxMJ9mINhkxYRvrfsY0NRdgVtjgmqxiaFyV9H//eWvQ0nEdGksPcu84OcCrb9JCaIcZTVW1E0dV0/hPxT4qOm1x/BwW1YPeE9JeAaFvQ4nl177/kd/aGkjIKceAFeQTcosCs26C/DQOmbfgbxetG1xu2Yn0U8UYeYvfVTePJun8hJbawOoUY9qjrrpN1V2UGPyZpdOePXmsh+Ow7UryoeP5mt1HuSIoRk/5ykgVWU3/eUf35aOBWVCzPC1BXmDaCXzLZBdZy3Dtfv2rfDGvUAEZZ8d6AY6TSB2AHN2EYZr2poDit6p89sJhfuvSo+GXdmLpmV6x+NOiJPA2LrcX1UhjOc+pS4F7aUyJFpgU37DjvIUdViuk= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "present",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:54.637058Z",
                            "start": "2026-09-25T02:17:54.043663Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000bd",
                        "name": "Enable access via build key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "diff": {
                                "after": {
                                    "path": "/home/zuul/.ssh"
                                },
                                "before": {
                                    "path": "/home/zuul/.ssh"
                                }
                            },
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": 448,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/home/zuul/.ssh",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0700",
                            "owner": "zuul",
                            "path": "/home/zuul/.ssh",
                            "size": 4096,
                            "state": "directory",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:54.870529Z",
                            "start": "2026-09-25T02:17:54.647197Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000be",
                        "name": "Make sure user has a .ssh"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "bf544a21081a80628957d7b38c7b04eb5fa7a7ae",
                            "dest": "/home/zuul/.ssh/id_rsa",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4c2827eb28a5432898b5eee10be8af64_id_rsa",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "bf544a21081a80628957d7b38c7b04eb5fa7a7ae",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 384,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302674.9218361-190-254764928179027/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "404b6a529dd3ee4a0124220ce0917521",
                            "mode": "0600",
                            "owner": "zuul",
                            "size": 2602,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302674.9218361-190-254764928179027/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:55.445835Z",
                            "start": "2026-09-25T02:17:54.875900Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000bf",
                        "name": "Install build private key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "copy",
                            "changed": true,
                            "checksum": "79faae74dd5e9040dba756d2d774899d19598cd9",
                            "dest": "/home/zuul/.ssh/id_rsa.pub",
                            "diff": [],
                            "gid": 1000,
                            "group": "zuul",
                            "invocation": {
                                "module_args": {
                                    "_original_basename": "4c2827eb28a5432898b5eee10be8af64_id_rsa.pub",
                                    "attributes": null,
                                    "backup": false,
                                    "checksum": "79faae74dd5e9040dba756d2d774899d19598cd9",
                                    "content": null,
                                    "dest": "/home/zuul/.ssh/id_rsa.pub",
                                    "directory_mode": null,
                                    "follow": false,
                                    "force": false,
                                    "group": null,
                                    "local_follow": null,
                                    "mode": 420,
                                    "owner": null,
                                    "remote_src": null,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302675.503184-200-165435648711381/source",
                                    "unsafe_writes": false,
                                    "validate": null
                                }
                            },
                            "md5sum": "6b207f5d8c8a2e9423dcd39ca768498b",
                            "mode": "0644",
                            "owner": "zuul",
                            "size": 571,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302675.503184-200-165435648711381/source",
                            "state": "file",
                            "uid": 1000
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:56.111477Z",
                            "start": "2026-09-25T02:17:55.452597Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000c0",
                        "name": "Install build public key as SSH key on all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "include_tasks",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:56.132749Z",
                            "start": "2026-09-25T02:17:56.118773Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000009e",
                        "name": "Remote setup ssh keys (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "sshagent_remove_keys",
                            "changed": true,
                            "invocation": {
                                "module_args": {
                                    "remove": "^(?!\\(stdin\\)).*"
                                }
                            },
                            "removed": [
                                "/etc/zuul/id_rsa"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-0000000000a3",
                        "name": "remove-zuul-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-zuul-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:56.508816Z",
                            "start": "2026-09-25T02:17:56.141856Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000a5",
                        "name": "Remove master key from local agent"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": true,
                            "cmd": [
                                "ssh-add",
                                "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa"
                            ],
                            "delta": "0:00:00.010332",
                            "end": "2026-09-25 02:17:56.770322",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "ssh-add /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0842-0233-0000000000ab-0-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:17:56.759990",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Identity added: /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa (zuul-build-sshkey)",
                            "stdout_lines": [
                                "Identity added: /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/4c2827eb28a5432898b5eee10be8af64_id_rsa (zuul-build-sshkey)"
                            ],
                            "zuul_log_id": "0242ac17-0010-0842-0233-0000000000ab-0-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:56.799795Z",
                            "start": "2026-09-25T02:17:56.534578Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000ab",
                        "name": "Add back temp key"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ping",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "data": "pong"
                                }
                            },
                            "ping": "pong"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:57.203138Z",
                            "start": "2026-09-25T02:17:56.806984Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000ac",
                        "name": "Verify we can still SSH to all nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "command",
                            "changed": false,
                            "false_condition": "ansible_os_family == \"Windows\"",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000016",
                        "name": "add-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:57.246710Z",
                            "start": "2026-09-25T02:17:57.211733Z"
                        },
                        "id": "0242ac17-0010-0842-0233-0000000000ad",
                        "name": "Verify we can still SSH to all nodes (windows)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "zuul_console",
                            "changed": false,
                            "invocation": {
                                "module_args": {
                                    "path": "/tmp/console-{log_uuid}.log",
                                    "port": 19885,
                                    "state": "present"
                                }
                            }
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:17:57.675664Z",
                            "start": "2026-09-25T02:17:57.319982Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000001d",
                        "name": "Start zuul_console daemon."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result",
                            "changed": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-00000000001b",
                        "name": "prepare-workspace",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:00.963753Z",
                            "start": "2026-09-25T02:17:57.683127Z"
                        },
                        "id": "0242ac17-0010-0842-0233-00000000001e",
                        "name": "Synchronize src repos to workspace directory."
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/logs",
                                    "state": "absent",
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "state": "absent",
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "absent",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "path": "/home/zuul/zuul-output/docs",
                                    "state": "absent",
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:01.738534Z",
                            "start": "2026-09-25T02:18:00.979064Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000022",
                        "name": "Empty Zuul Output directories by removing them"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/logs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "mode": "0755",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "mode": "0775",
                                            "path": "/home/zuul/zuul-output/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/home/zuul/zuul-output/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "zuul",
                                    "path": "/home/zuul/zuul-output/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 1000,
                                    "zj_output_dir": "docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0842-0233-000000000020",
                        "name": "ensure-output-dirs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/ensure-output-dirs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:02.448128Z",
                            "start": "2026-09-25T02:18:01.745788Z"
                        },
                        "id": "0242ac17-0010-0842-0233-000000000024",
                        "name": "Ensure Zuul Output directories exist"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 8,
            "failures": 0,
            "ignored": 0,
            "ok": 15,
            "rescued": 0,
            "skipped": 3,
            "unreachable": 0
        },
        "localhost": {
            "changed": 2,
            "failures": 0,
            "ignored": 0,
            "ok": 6,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": true
},
{
    "branch": "main",
    "index": "1",
    "phase": "pre",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/pre.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:18:18.629446Z",
                    "start": "2026-09-25T02:18:03.234131Z"
                },
                "id": "0242ac17-0010-38b4-1b9d-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.unarchive",
                            "changed": true,
                            "dest": "/usr/local/bin",
                            "extract_results": {
                                "cmd": [
                                    "/usr/bin/tar",
                                    "--extract",
                                    "-C",
                                    "/usr/local/bin",
                                    "-z",
                                    "--show-transformed-names",
                                    "--strip-components=1",
                                    "-f",
                                    "/home/zuul/.ansible/tmp/ansible-tmp-1790302683.2868075-5-31906417487515/uv-x86_64-unknown-linux-gnuqcspww_r.tar.gz"
                                ],
                                "err": "",
                                "out": "",
                                "rc": 0
                            },
                            "gid": 0,
                            "group": "root",
                            "handler": "TgzArchive",
                            "invocation": {
                                "module_args": {
                                    "attributes": null,
                                    "copy": true,
                                    "creates": "/usr/local/bin/uv",
                                    "decrypt": true,
                                    "dest": "/usr/local/bin",
                                    "exclude": [],
                                    "extra_opts": [
                                        "--strip-components=1"
                                    ],
                                    "group": null,
                                    "include": [],
                                    "io_buffer_size": 65536,
                                    "keep_newer": false,
                                    "list_files": false,
                                    "mode": null,
                                    "owner": null,
                                    "remote_src": true,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": "https://github.com/astral-sh/uv/releases/download/0.8.13/uv-x86_64-unknown-linux-gnu.tar.gz",
                                    "unsafe_writes": false,
                                    "validate_certs": true
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "size": 4096,
                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302683.2868075-5-31906417487515/uv-x86_64-unknown-linux-gnuqcspww_r.tar.gz",
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-38b4-1b9d-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:05.986027Z",
                            "start": "2026-09-25T02:18:03.244124Z"
                        },
                        "id": "0242ac17-0010-38b4-1b9d-000000000007",
                        "name": "Extract archive"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "/usr/local/bin/uv",
                                "--version"
                            ],
                            "delta": "0:00:00.020053",
                            "end": "2026-09-25 02:18:06.401658",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "/usr/local/bin/uv --version",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-38b4-1b9d-000000000008-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:18:06.381605",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "uv 0.8.13",
                            "stdout_lines": [
                                "uv 0.8.13"
                            ],
                            "zuul_log_id": "0242ac17-0010-38b4-1b9d-000000000008-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-38b4-1b9d-000000000005",
                        "name": "setup-uv",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_0/github.com/vexxhost/zuul-jobs/roles/setup-uv"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:06.546417Z",
                            "start": "2026-09-25T02:18:06.031282Z"
                        },
                        "id": "0242ac17-0010-38b4-1b9d-000000000008",
                        "name": "Print version"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "molecule_install_galaxy_sibling_collections",
                            "changed": true,
                            "checkouts": [
                                {
                                    "changed": true,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "tag": "2.2.2"
                                },
                                {
                                    "changed": true,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "tag": "3.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "tag": "13.4.0"
                                },
                                {
                                    "changed": true,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "tag": "6.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "tag": "2.6.0"
                                },
                                {
                                    "changed": true,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "tag": "v1.6.8"
                                },
                                {
                                    "changed": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "tag": "v3.4.0"
                                }
                            ],
                            "installed": [
                                {
                                    "in_build_refs": false,
                                    "name": "ansible.posix",
                                    "path": "/home/zuul/src/github.com/ansible-collections/ansible.posix",
                                    "spec": ">=1.6.0",
                                    "tag": "2.2.2",
                                    "version": "2.2.2"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.crypto",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.crypto",
                                    "spec": ">=2.2.3",
                                    "tag": "3.4.0",
                                    "version": "3.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "community.general",
                                    "path": "/home/zuul/src/github.com/ansible-collections/community.general",
                                    "spec": ">=4.5.0",
                                    "tag": "13.4.0",
                                    "version": "13.4.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "kubernetes.core",
                                    "path": "/home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                    "spec": ">=2.4.0,>=2.3.2",
                                    "tag": "6.6.0",
                                    "version": "6.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "openstack.cloud",
                                    "path": "/home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                    "spec": ">=2.0.0",
                                    "tag": "2.6.0",
                                    "version": "2.6.0"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.containers",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                    "spec": ">=1.6.0",
                                    "tag": "v1.6.8",
                                    "version": "1.6.8"
                                },
                                {
                                    "in_build_refs": false,
                                    "name": "vexxhost.kubernetes",
                                    "path": "/home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                    "spec": ">=2.5.0",
                                    "tag": "v3.4.0",
                                    "version": "3.4.0"
                                }
                            ],
                            "invocation": {
                                "module_args": {
                                    "build_refs": [
                                        {
                                            "branch": "main",
                                            "change": "102",
                                            "change_message": "chore(deps): update dependency fluxcd/flux2 to v2.9.5\n\n> \u2139\ufe0f **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [fluxcd/flux2](https://redirect.github.com/fluxcd/flux2) | minor | `2.6.4` \u2192 `2.9.5` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fluxcd/flux2 (fluxcd/flux2)</summary>\n\n### [`v2.9.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.5)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5)\n\n#### Highlights\n\nFlux v2.9.5 is a patch release that moves helm-controller and source-controller back to upstream Helm, now at v4.2.4, dropping the temporary Flux fork. It hardens the handling of kubeconfig Secrets in helm-controller and kustomize-controller, which now reject kubeconfigs referencing files on the local filesystem and require credentials and certificates to be embedded inline. It also stops kustomize-controller from leaving behind the temporary directories of a previous process that exited without running its cleanup, and fixes a crash in post-build substitution where a substring expression with a negative length, e.g. `${VAR:2:-1}`, panicked instead of counting back from the end of the string like Bash does. Across all controllers and the CLI, the fluxcd/pkg dependencies have been updated, bringing Kubernetes to 1.36.4. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Validate kubeconfigs from `.spec.kubeConfig` Secrets, rejecting local file references in `certificate-authority`, `tokenFile`, `client-certificate` and `client-key`; credentials and certificates must be embedded inline (helm-controller, kustomize-controller)\n- Purge temporary directories at startup (kustomize-controller)\n- Fix panic on negative-length substring expressions in post-build substitution (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Move back to upstream Helm v4.2.4, dropping the Flux fork (helm-controller, source-controller)\n- Update fluxcd/pkg dependencies, which bring Kubernetes to 1.36.4 (all controllers, flux CLI)\n\n#### Components changelog\n\n- source-controller [v1.9.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.5/CHANGELOG.md)\n- source-watcher [v2.2.4](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.4/CHANGELOG.md)\n- kustomize-controller [v1.9.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.5/CHANGELOG.md)\n- helm-controller [v1.6.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.4/CHANGELOG.md)\n- notification-controller [v1.9.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.4/CHANGELOG.md)\n- image-reflector-controller [v1.2.5](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.5/CHANGELOG.md)\n- image-automation-controller [v1.2.5](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.5/CHANGELOG.md)\n\n#### CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6046](https://redirect.github.com/fluxcd/flux2/pull/6046)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6048](https://redirect.github.com/fluxcd/flux2/pull/6048)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6049](https://redirect.github.com/fluxcd/flux2/pull/6049)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5>\n\n### [`v2.9.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.4)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4)\n\n#### Highlights\n\nFlux v2.9.4 is a patch release that ships various fixes to the Flux controllers, covering source-watcher tarball extraction and glob expansion limits, the refspecs accepted by `ImageUpdateAutomation`, the HTTP request limits of the notification-controller servers, and Helm repository index loading, OCI chart digest pinning, `Bucket` error handling and GCS static authentication in source-controller. On the CLI side, `flux migrate -f` now supports migrating repositories to Flux 2.9. Users are encouraged to upgrade for the best experience.\n\nNote that this release contains CRD schema changes for `ArtifactGenerator` and `ImageUpdateAutomation`; both CRDs must be updated along with the controllers.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Confine tarball extraction and bound glob expansion (source-watcher)\n- Disallow force-update and deletion via refspecs (image-automation-controller)\n- Unify HTTP server request limits (notification-controller)\n- Align Helm repository index loading with upstream Helm v4 (source-controller)\n- Improve error handling in `Bucket` reconciliation (source-controller)\n- Pin OCI chart verification by digest (source-controller)\n- Limit GCS static authentication to service account keys (source-controller)\n- Restrict the `allow-webhooks` network policy to the receiver port (flux CLI)\n\nImprovements:\n\n- Add support for migrating repositories to 2.9 in `flux migrate -f` (flux CLI)\n- Update fluxcd/pkg dependencies, which align the ECR host detection with upstream (source-controller, image-reflector-controller, flux CLI)\n- Update Bitbucket Cloud receiver guidance (notification-controller)\n\n#### Components changelog\n\n- source-controller [v1.9.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.4/CHANGELOG.md)\n- source-watcher [v2.2.3](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.3/CHANGELOG.md)\n- notification-controller [v1.9.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.3/CHANGELOG.md)\n- image-reflector-controller [v1.2.4](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.4/CHANGELOG.md)\n- image-automation-controller [v1.2.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.4/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.9.x] Add support for 2.9 in `migrate -f` by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6021](https://redirect.github.com/fluxcd/flux2/pull/6021)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6026](https://redirect.github.com/fluxcd/flux2/pull/6026)\n- \\[release/v2.9.x] fix: restrict `allow-webhooks` netpol to receiver port by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6029](https://redirect.github.com/fluxcd/flux2/pull/6029)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6031](https://redirect.github.com/fluxcd/flux2/pull/6031)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4>\n\n### [`v2.9.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.3)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3)\n\n#### Highlights\n\nFlux v2.9.3 is a patch release. It fixes empty lines vanishing from rendered Helm chart manifests, HelmReleases being marked as tested when their Helm test hooks never ran, and `spec.images` entries that set only some image fields discarding the remaining fields already declared for the same image in the `kustomization.yaml`. The latter affects both kustomize-controller and the `flux build|diff kustomization` commands. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix empty lines vanishing from rendered chart manifests (helm-controller)\n- Fix `HasBeenTested` for all corner cases, where a release could be marked as tested although its Helm test hooks never ran (helm-controller)\n- Fix a `spec.images` entry setting only some of the image fields discarding the remaining fields already declared for the same image in the `kustomization.yaml` at `spec.path`, e.g. overriding only `newName` produced an untagged image reference (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Update fluxcd/pkg dependencies\n- Include source-watcher in the OCI flux-manifests artifact\n\n#### Components changelog\n\n- kustomize-controller [v1.9.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.4/CHANGELOG.md)\n- helm-controller [v1.6.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.3/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.9.x] Include source-watcher to oci flux-manifests by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5996](https://redirect.github.com/fluxcd/flux2/pull/5996)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6006](https://redirect.github.com/fluxcd/flux2/pull/6006)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6011](https://redirect.github.com/fluxcd/flux2/pull/6011)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3>\n\n### [`v2.9.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.2)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2)\n\n##### Highlights\n\nFlux v2.9.2 is a patch release. The main fix addresses a regression introduced in\nv2.9.1 where a Kustomization with `openapi.path` pointing to a URL failed to\nreconcile with `failed to read OpenAPI schema`. This release also corrects several\nCRD field descriptions that contained inaccurate or leaked content. Users are\nencouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix a regression where a Kustomization with `openapi.path` pointing to a URL failed to reconcile with `failed to read OpenAPI schema` (kustomize-controller)\n- Fix the `HelmChart` CRD description for `.status.url`, which pointed users at `BucketStatus.Artifact` instead of `HelmChartStatus.Artifact` (source-controller)\n- Fix the `ImageRepository` CRD description for `.status.observedExclusionList`, which referred to `spec.lastScanResult` instead of `status.lastScanResult` (image-reflector-controller)\n- Fix the `ImageUpdateAutomation` CRD description for `.status.observedSourceRevision`, which had a stray Go struct declaration leaking into it (image-automation-controller)\n\nImprovements:\n\n- Update fluxcd/pkg dependencies\n\n##### Components changelog\n\n- source-controller [v1.9.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.3/CHANGELOG.md)\n- kustomize-controller [v1.9.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.3/CHANGELOG.md)\n- helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n- notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n- image-reflector-controller [v1.2.3](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.3/CHANGELOG.md)\n- image-automation-controller [v1.2.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.3/CHANGELOG.md)\n- source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5984](https://redirect.github.com/fluxcd/flux2/pull/5984)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5990](https://redirect.github.com/fluxcd/flux2/pull/5990)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5994](https://redirect.github.com/fluxcd/flux2/pull/5994)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2>\n\n### [`v2.9.1`](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n### [`v2.9.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.0)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.8...v2.9.0)\n\n##### Highlights\n\nFlux v2.9.0 is a feature release. Users are encouraged to upgrade for the best experience.\n\nFor a compressive overview of new features and API changes included in this release, please refer to the [Announcing Flux 2.9 GA blog post](https://fluxcd.io/blog/2026/06/flux-v2.9.0/).\n\nOverview of the new features:\n\n- Flux CLI Plugin System with the Mirror and Schema plugins (`flux plugin`)\n- Server-Side Apply field ignore rules for fine-grained drift control (`Kustomization`)\n- SOPS decryption with the Age post-quantum cipher (`Kustomization`)\n- Kubernetes Workload Identity authentication for OpenBao and Vault (`Kustomization`)\n- Helm post-render strategies, including chart hooks support (`HelmRelease`)\n- Literal mode for Helm values references mirroring `helm --set-literal` (`HelmRelease`)\n- Allow empty kind in CEL health check expressions (`Kustomization`, `HelmRelease`)\n- Git commit signing and verification with SSH keys (`GitRepository`, `ImageUpdateAutomation`)\n- AWS CodeCommit authentication using Workload Identity (`GitRepository`)\n- Custom Sigstore trusted root for keyless verification in air-gapped environments (`OCIRepository`)\n- Path pattern directory discovery for monorepos (`ArtifactGenerator`)\n- Secret-less, OIDC-secured webhook Receivers (`Receiver`)\n\n\u2764\ufe0f Big thanks to all the Flux contributors that helped us with this release!\n\n##### Kubernetes compatibility\n\nThis release is compatible with the following Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------ | ---------------- |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`            | `>= 1.35.0`      |\n| `v1.36`            | `>= 1.36.0`      |\n\n> \\[!NOTE]\n> Note that the Flux project offers support only for the latest three minor versions of Kubernetes.\n> Backwards compatibility with older versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/) that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux can be installed on Red Hat OpenShift cluster directly from OperatorHub using [Flux Operator](https://operatorhub.io/operator/flux-operator). The operator allows the configuration of Flux multi-tenancy lockdown, network policies, persistent storage, sharding, vertical scaling and the synchronization of the cluster state from Git repositories, OCI artifacts, and S3-compatible storage.\n\n##### Upgrade procedure\n\n:warning: The Flux APIs `image.toolkit.fluxcd.io/v1beta2` and `notification.toolkit.fluxcd.io/v1beta2`\nhave reached end-of-life and have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from older versions of Flux to v2.9.\n\n##### Components changelog\n\n- source-controller [v1.9.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md)\n- kustomize-controller [v1.9.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md)\n- notification-controller [v1.9.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md)\n- helm-controller [v1.6.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md)\n- image-reflector-controller [v1.2.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md)\n- image-automation-controller [v1.2.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md)\n- source-watcher [v2.2.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md)\n\n##### CLI changelog\n\n- Add backport label for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5732](https://redirect.github.com/fluxcd/flux2/pull/5732)\n- Remove no longer needed workaround for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5733](https://redirect.github.com/fluxcd/flux2/pull/5733)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5740](https://redirect.github.com/fluxcd/flux2/pull/5740)\n- Add missing things to release notes template by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5743](https://redirect.github.com/fluxcd/flux2/pull/5743)\n- ci: add top-level permissions to upgrade-fluxcd-pkg workflow by [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94) in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n- build(deps): bump the ci group across 1 directory with 11 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5764](https://redirect.github.com/fluxcd/flux2/pull/5764)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5766](https://redirect.github.com/fluxcd/flux2/pull/5766)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5769](https://redirect.github.com/fluxcd/flux2/pull/5769)\n- Add target branch name to update branch by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5773](https://redirect.github.com/fluxcd/flux2/pull/5773)\n- Fix/resume exit code by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool) in [#&#8203;5701](https://redirect.github.com/fluxcd/flux2/pull/5701)\n- Mark RFC 0010, 0011 and 0012 as implemented by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5776](https://redirect.github.com/fluxcd/flux2/pull/5776)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5780](https://redirect.github.com/fluxcd/flux2/pull/5780)\n- Add --resolve-symlinks flag to build and push artifact commands by [@&#8203;rohansood10](https://redirect.github.com/rohansood10) in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n- fix: validate --source flag in create kustomization command by [@&#8203;gma1k](https://redirect.github.com/gma1k) in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5821](https://redirect.github.com/fluxcd/flux2/pull/5821)\n- Add `--show-source` to `flux get ks` and `flux get hr`  by [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n- Add `flux create secret receiver` command by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5835](https://redirect.github.com/fluxcd/flux2/pull/5835)\n- fix: handle multiple symlinks to same target in build artifact by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh) in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n- Add `--in-memory-build` to `flux build ks` and `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli) in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n- Migrate end-to-end test to latest cloud SDKs  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5840](https://redirect.github.com/fluxcd/flux2/pull/5840)\n- docs: Add AI Coding Assistants Guidance  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5841](https://redirect.github.com/fluxcd/flux2/pull/5841)\n- Add AI Agents guidance by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5847](https://redirect.github.com/fluxcd/flux2/pull/5847)\n- \\[RFC-0013] Flux CLI Plugin System by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5795](https://redirect.github.com/fluxcd/flux2/pull/5795)\n- Add `--ignore-not-found` to `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli) in [#&#8203;5845](https://redirect.github.com/fluxcd/flux2/pull/5845)\n- \\[RFC-0013] Implement plugin system by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5849](https://redirect.github.com/fluxcd/flux2/pull/5849)\n- build(deps): bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5853](https://redirect.github.com/fluxcd/flux2/pull/5853)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5856](https://redirect.github.com/fluxcd/flux2/pull/5856)\n- Add digest pinning support to `flux plugin install` by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh) in [#&#8203;5872](https://redirect.github.com/fluxcd/flux2/pull/5872)\n- Add `--ns-follows-kube-context` global flag for using the kubeconfig context namespace by [@&#8203;jtyr](https://redirect.github.com/jtyr) in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n- include source-watcher in install.yaml manifests by [@&#8203;tmmorin](https://redirect.github.com/tmmorin) in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5890](https://redirect.github.com/fluxcd/flux2/pull/5890)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5903](https://redirect.github.com/fluxcd/flux2/pull/5903)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5907](https://redirect.github.com/fluxcd/flux2/pull/5907)\n- Validate Helm source URL schemes by [@&#8203;immanuwell](https://redirect.github.com/immanuwell) in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n- Introduce `flux trigger receiver` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5908](https://redirect.github.com/fluxcd/flux2/pull/5908)\n- refactor(api): migrate MakeDependsOn to shared apis/meta func by [@&#8203;vecil](https://redirect.github.com/vecil) in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n- Update to Kubernetes 1.36 and Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5924](https://redirect.github.com/fluxcd/flux2/pull/5924)\n- build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5925](https://redirect.github.com/fluxcd/flux2/pull/5925)\n- Run conformance tests for Kubernetes 1.36 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5926](https://redirect.github.com/fluxcd/flux2/pull/5926)\n- Add support for AWS CodeCommit to `flux bootstrap git` by [@&#8203;taraspos](https://redirect.github.com/taraspos) in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n- Validate plugin binary path by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5927](https://redirect.github.com/fluxcd/flux2/pull/5927)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5928](https://redirect.github.com/fluxcd/flux2/pull/5928)\n- fix: preserve invalid metadata.labels in `flux build ks` by [@&#8203;raffis](https://redirect.github.com/raffis) in [#&#8203;5906](https://redirect.github.com/fluxcd/flux2/pull/5906)\n- build: target host arch for local builds/envtest by [@&#8203;stealthybox](https://redirect.github.com/stealthybox) in [#&#8203;5932](https://redirect.github.com/fluxcd/flux2/pull/5932)\n- build(deps): bump the ci group with 6 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5938](https://redirect.github.com/fluxcd/flux2/pull/5938)\n- Support specifing sparseCheckout in flux bootstrap by [@&#8203;piny940](https://redirect.github.com/piny940) in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5944](https://redirect.github.com/fluxcd/flux2/pull/5944)\n- Honor `ks.spec.postBuild.substituteStrategy` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5945](https://redirect.github.com/fluxcd/flux2/pull/5945)\n- Add DriftIgnoreRules support to flux diff kustomization by [@&#8203;dipti-pai](https://redirect.github.com/dipti-pai) in [#&#8203;5923](https://redirect.github.com/fluxcd/flux2/pull/5923)\n- Allow signing commits using SSH key by [@&#8203;hiddeco](https://redirect.github.com/hiddeco) in [#&#8203;5920](https://redirect.github.com/fluxcd/flux2/pull/5920)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5950](https://redirect.github.com/fluxcd/flux2/pull/5950)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5937](https://redirect.github.com/fluxcd/flux2/pull/5937)\n- cmd: support `type!=status` in get --status-selector by [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje) in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n- Fix `flux get all --status-selector` for empty results and notification resources by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5954](https://redirect.github.com/fluxcd/flux2/pull/5954)\n- Upgrade go-git-providers to v0.27.0 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5956](https://redirect.github.com/fluxcd/flux2/pull/5956)\n- Fix using Receiver adapter for ArtifactGenerator by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5957](https://redirect.github.com/fluxcd/flux2/pull/5957)\n- feat: Install Plugins alongside Flux setup in gh actions by [@&#8203;gat786](https://redirect.github.com/gat786) in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5960](https://redirect.github.com/fluxcd/flux2/pull/5960)\n- Add CLI support for OCIRepository.spec.layerSelector in flux create source oci by [@&#8203;dme86](https://redirect.github.com/dme86) in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5963](https://redirect.github.com/fluxcd/flux2/pull/5963)\n\n##### New Contributors\n\n- [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94) made their first contribution in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n- [@&#8203;rohansood10](https://redirect.github.com/rohansood10) made their first contribution in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n- [@&#8203;gma1k](https://redirect.github.com/gma1k) made their first contribution in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n- [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) made their first contribution in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n- [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh) made their first contribution in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n- [@&#8203;rycli](https://redirect.github.com/rycli) made their first contribution in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n- [@&#8203;jtyr](https://redirect.github.com/jtyr) made their first contribution in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n- [@&#8203;tmmorin](https://redirect.github.com/tmmorin) made their first contribution in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n- [@&#8203;immanuwell](https://redirect.github.com/immanuwell) made their first contribution in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n- [@&#8203;vecil](https://redirect.github.com/vecil) made their first contribution in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n- [@&#8203;taraspos](https://redirect.github.com/taraspos) made their first contribution in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n- [@&#8203;piny940](https://redirect.github.com/piny940) made their first contribution in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n- [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje) made their first contribution in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n- [@&#8203;gat786](https://redirect.github.com/gat786) made their first contribution in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n- [@&#8203;dme86](https://redirect.github.com/dme86) made their first contribution in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.9.0>\n\n### [`v2.8.8`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.8)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8)\n\n##### Highlights\n\nFlux v2.8.8 is a patch release that includes CVE fixes via go-git v5.19.1 (source-controller, image-automation-controller), reliability fixes in helm-controller and source-controller, the move of Helm back to upstream v4.2.0, support for GCP sovereign cloud artifact registries, and dependency updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Add a configurable HTTP timeout for artifact fetching, preventing fetches that could block indefinitely and stall reconciliations (helm-controller)\n- Fix unbounded memory growth caused by a Kubernetes client transport retry wrapper accumulating on every reconcile (helm-controller)\n- Stop force-applying non-CRD objects placed under a chart's `crds/` directory (helm-controller)\n- Fix the Helm test action failing to find releases with names longer than 53 characters (helm-controller)\n- Improve path handling in the source reconcilers (source-controller)\n- Support Helm semver build-metadata encoding in OCIRepository tags (source-controller)\n\nImprovements:\n\n- Update go-git to v5.19.1 which fixes [CVE-2026-45571](https://redirect.github.com/advisories/GHSA-crhj-59gh-8x96) and [CVE-2026-45570](https://redirect.github.com/advisories/GHSA-m7cr-m3pv-hgrp) (source-controller, image-automation-controller)\n- Move Helm back to upstream v4.2.0 (source-controller, helm-controller)\n- Add support for GCP sovereign cloud artifact registries (source-controller, image-reflector-controller)\n- Upgrade Kubernetes to 1.36.1 (source-controller, helm-controller)\n- Update fluxcd/pkg dependencies\n\n##### Components changelog\n\n- helm-controller [v1.5.5](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.5/CHANGELOG.md)\n- image-automation-controller [v1.1.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.4/CHANGELOG.md)\n- image-reflector-controller [v1.1.2](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.1.2/CHANGELOG.md)\n- source-controller [v1.8.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.5/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5904](https://redirect.github.com/fluxcd/flux2/pull/5904)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8>\n\n### [`v2.8.7`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.7)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.6...v2.8.7)\n\n##### Highlights\n\nFlux v2.8.7 is a patch release that includes a bug fix in kustomize-controller, a CVE fix in source-controller and image-automation-controller via go-git v5.19.0, and dependency updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix management of objects annotated with `kustomize.toolkit.fluxcd.io/ssa: IfNotPresent` where non-namespaced resources were being deleted and recreated on each reconciliation (kustomize-controller)\n\nImprovements:\n\n- Update go-git to v5.19.0 which fixes [CVE-2026-45022](https://redirect.github.com/advisories/GHSA-389r-gv7p-r3rp) (source-controller, image-automation-controller)\n- Update fluxcd/pkg dependencies (source-controller, kustomize-controller, image-automation-controller)\n\n##### Components changelog\n\n- helm-controller [v1.5.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.4/CHANGELOG.md)\n- image-automation-controller [v1.1.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.3/CHANGELOG.md)\n- kustomize-controller [v1.8.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.5/CHANGELOG.md)\n- notification-controller [v1.8.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.4/CHANGELOG.md)\n- source-controller [v1.8.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.4/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5891](https://redirect.github.com/fluxcd/flux2/pull/5891)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.6...v2.8.7>\n\n### [`v2.8.6`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.6)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.5...v2.8.6)\n\n##### Highlights\n\nFlux v2.8.6 is a patch release that includes bug fixes and improvements across helm-controller, image-automation-controller, kustomize-controller, notification-controller, and source-controller. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix a post-renderer conflict between overlapping hooks and templates (helm-controller)\n- Ignore force replace when server-side apply is enabled (helm-controller)\n- Fix a regression where generic providers would not forward commit status events (notification-controller)\n- Require the `audience` field on the GCR Receiver secret for tighter verification \u2014 will become mandatory in Flux v2.9 (notification-controller)\n\nImprovements:\n\n- Introduce the `MigrateAPIVersion` feature gate for migrating the API version of resources in managed field entries (kustomize-controller)\n- Update go-git to v5.18.0 bringing performance improvements for Git operations (source-controller, image-automation-controller)\n\n##### Components changelog\n\n- helm-controller [v1.5.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.4/CHANGELOG.md)\n- image-automation-controller [v1.1.2](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.2/CHANGELOG.md)\n- kustomize-controller [v1.8.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.4/CHANGELOG.md)\n- notification-controller [v1.8.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.4/CHANGELOG.md)\n- source-controller [v1.8.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.3/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5857](https://redirect.github.com/fluxcd/flux2/pull/5857)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.5...v2.8.6>\n\n### [`v2.8.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.5)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.4...v2.8.5)\n\n##### Highlights\n\nFlux v2.8.5 is a patch release that includes bug fixes and improvements across kustomize-controller, source-controller, and notification-controller. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix a race condition where a cancelled reconciliation could leave stale data in the cache, causing Kustomizations to get stuck (kustomize-controller)\n- Fix Azure Blob prefix option not being passed to the storage client (source-controller)\n\nImprovements:\n\n- Improve error message for encrypted SSH keys without password (source-controller)\n- Add optional `email` and `audience` fields to the GCR Receiver for tighter verification (notification-controller)\n- Add provider manifest example for Azure Event Hub managed identity authentication (notification-controller)\n\n##### Components changelog\n\n- kustomize-controller [v1.8.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.3/CHANGELOG.md)\n- source-controller [v1.8.2](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.2/CHANGELOG.md)\n- notification-controller [v1.8.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.3/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5822](https://redirect.github.com/fluxcd/flux2/pull/5822)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.4...v2.8.5>\n\n### [`v2.8.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.4)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.3...v2.8.4)\n\n##### Highlights\n\nFlux v2.8.4 is a patch release that includes fixes for the Flux CLI. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix `flux build ks` and `flux diff ks` on Windows\n- Fix `--source` flag validation in `create kustomization` command\n\n##### CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5796](https://redirect.github.com/fluxcd/flux2/pull/5796)\n- \\[release/v2.8.x] fix: validate --source flag in create kustomization command by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5799](https://redirect.github.com/fluxcd/flux2/pull/5799)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.3...v2.8.4>\n\n### [`v2.8.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.3)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.2...v2.8.3)\n\n#### Highlights\n\nFlux v2.8.3 is a patch release that fixes a regression in helm-controller. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix templating errors for charts that include `---` in the content, e.g. YAML separators, embedded scripts, CAs inside ConfigMaps (helm-controller)\n\n#### Components changelog\n\n- helm-controller [v1.5.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.3/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.8.x] Add target branch name to update branch by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5774](https://redirect.github.com/fluxcd/flux2/pull/5774)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5779](https://redirect.github.com/fluxcd/flux2/pull/5779)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.2...v2.8.3>\n\n### [`v2.8.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.2)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.1...v2.8.2)\n\n#### Highlights\n\nFlux v2.8.2 is a patch release that comes with various fixes. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix enqueuing new reconciliation requests for events on source Flux objects when they are already reconciling the revision present in the watch event (kustomize-controller, helm-controller)\n- Fix the Go templates bug of YAML separator `---` getting concatenated to `apiVersion:` by updating to Helm 4.1.3 (helm-controller)\n- Fix canceled HelmReleases getting stuck when they don't have a retry strategy configured by introducing a new feature gate `DefaultToRetryOnFailure` that improves the experience when the `CancelHealthCheckOnNewRevision` is enabled (helm-controller)\n- Fix the auth scope for Azure Container Registry to use the ACR-specific scope (source-controller, image-reflector-controller)\n- Fix potential Denial of Service (DoS) during TLS handshakes (CVE-2026-27138) by building all controllers with Go 1.26.1\n\n#### Components changelog\n\n- source-controller [v1.8.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.1/CHANGELOG.md)\n- kustomize-controller [v1.8.2](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.2/CHANGELOG.md)\n- notification-controller [v1.8.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.2/CHANGELOG.md)\n- helm-controller [v1.5.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.2/CHANGELOG.md)\n- image-reflector-controller [v1.1.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.1.1/CHANGELOG.md)\n- image-automation-controller [v1.1.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.1/CHANGELOG.md)\n- source-watcher [v2.1.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.1.1/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.8.x] build(deps): bump the ci group across 1 directory with 11 updates by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5765](https://redirect.github.com/fluxcd/flux2/pull/5765)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5767](https://redirect.github.com/fluxcd/flux2/pull/5767)\n- Update toolkit components by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5770](https://redirect.github.com/fluxcd/flux2/pull/5770)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5771](https://redirect.github.com/fluxcd/flux2/pull/5771)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.1...v2.8.2>\n\n### [`v2.8.1`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.1)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.0...v2.8.1)\n\n#### Highlights\n\nFlux v2.8.1 is a patch release that comes with various fixes. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix Git commit status events being dropped for Kustomizations (notification-controller)\n- Fix health check for StatefulSets when the Pods are Pending/Unschedulable during rollout (helm-controller, kustomize-controller)\n\n#### Components changelog\n\n- kustomize-controller [v1.8.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.1/CHANGELOG.md)\n- notification-controller [v1.8.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.1/CHANGELOG.md)\n- helm-controller [v1.5.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.1/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.8.x] Remove no longer needed workaround for Flux 2.8 by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5735](https://redirect.github.com/fluxcd/flux2/pull/5735)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5739](https://redirect.github.com/fluxcd/flux2/pull/5739)\n- \\[release/v2.8.x] Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5741](https://redirect.github.com/fluxcd/flux2/pull/5741)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.8.1>\n\n### [`v2.8.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.0)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.7.5...v2.8.0)\n\n#### Highlights\n\nFlux v2.8.0 is a feature release. Users are encouraged to upgrade for the best experience.\n\nFor a compressive overview of new features and API changes included in this release, please refer to the [Announcing Flux 2.8 GA blog post](https://fluxcd.io/blog/2026/02/flux-v2.8.0/).\n\nOverview of the new features:\n\n- Helm v4 support, including server-side apply and kstatus-based health checking (`HelmRelease`)\n- Readiness evaluation of Helm-managed objects with CEL expressions (`HelmRelease`)\n- Improved observability of Helm releases with inventory tracking in `.status.inventory` (`HelmRelease`)\n- Reduced the mean time to recovery of Flux-managed applications via `CancelHealthCheckOnNewRevision` feature gate (`Kustomization`, `HelmRelease`)\n- Support for commenting on Pull Requests directly from Flux notifications (`Provider`)\n- Custom SSA apply stages for ordering resource application in kustomize-controller (`Kustomization`)\n- Automatic GitHub App installation ID lookup from the repository owner (`GitRepository`, `ImageUpdateAutomation`, `Provider`)\n- Support for Cosign v3 for verifying OCI artifacts and container images (`OCIRepository`)\n- ArtifactGenerator support for extracting and modifying Helm charts (`ArtifactGenerator`)\n- Bypass cache when fetching source objects via `DirectSourceFetch` feature gate (`Kustomization`, `HelmRelease`, `ArtifactGenerator`)\n\n\u2764\ufe0f Big thanks to all the Flux contributors that helped us with this release!\n\n##### Kubernetes compatibility\n\nThis release is compatible with the following Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------ | ---------------- |\n| `v1.33`            | `>= 1.32.0`      |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`            | `>= 1.35.0`      |\n\n> \\[!NOTE]\n> Note that the Flux project offers support only for the latest three minor versions of Kubernetes.\n> Backwards compatibility with older versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/) that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux can be installed on Red Hat OpenShift cluster directly from OperatorHub using [Flux Operator](https://operatorhub.io/operator/flux-operator). The operator allows the configuration of Flux multi-tenancy lockdown, network policies, persistent storage, sharding, vertical scaling and the synchronization of the cluster state from Git repositories, OCI artifacts, and S3-compatible storage.\n\n#### Upgrade procedure\n\n:warning: The Flux APIs `v1beta2` and `v2beta2` (deprecated in 2024) have reached end-of-life and have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from older versions of Flux to v2.8.\n\n#### Components changelog\n\n- source-controller [v1.8.0](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.0/CHANGELOG.md)\n- kustomize-controller [v1.8.0](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.0/CHANGELOG.md)\n- notification-controller [v1.8.0](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.0/CHANGELOG.md)\n- helm-controller [v1.5.0](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.0/CHANGELOG.md)\n- image-reflector-controller [v1.1.0](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.1.0/CHANGELOG.md)\n- image-automation-controller [v1.1.0](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.0/CHANGELOG.md)\n- source-watcher [v2.1.0](https://redirect.github.com/fluxcd/source-watcher/blob/v2.1.0/CHANGELOG.md)\n\n#### CLI changelog\n\n- ci: Set `GITHUB_TOKEN` in the `release-flux-manifests` workflow by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5547](https://redirect.github.com/fluxcd/flux2/pull/5547)\n- Add backport label for Flux 2.7 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5550](https://redirect.github.com/fluxcd/flux2/pull/5550)\n- build(deps): bump the ci group across 1 directory with 3 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5548](https://redirect.github.com/fluxcd/flux2/pull/5548)\n- Fix `flux push artifact` not working with `--provider` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5551](https://redirect.github.com/fluxcd/flux2/pull/5551)\n- Extend `flux migrate` to work with local files by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5554](https://redirect.github.com/fluxcd/flux2/pull/5554)\n- Improve `flux migrate` for live cluster migrations by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5558](https://redirect.github.com/fluxcd/flux2/pull/5558)\n- Fix `flux migrate -f` command to work with comments by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5560](https://redirect.github.com/fluxcd/flux2/pull/5560)\n- Add source-watcher to docs by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5562](https://redirect.github.com/fluxcd/flux2/pull/5562)\n- Fix `flux migrate -f` not considering kind comments by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5563](https://redirect.github.com/fluxcd/flux2/pull/5563)\n- refactor: convert `Kustomization` resource into unstructured map only once during variable substitution by [@&#8203;ramasai1](https://redirect.github.com/ramasai1) in [#&#8203;5566](https://redirect.github.com/fluxcd/flux2/pull/5566)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5568](https://redirect.github.com/fluxcd/flux2/pull/5568)\n- Disable AUR publishing by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5570](https://redirect.github.com/fluxcd/flux2/pull/5570)\n- Fix manifest generation for `--storage-adv-addr` and `--events-addr` flags by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5574](https://redirect.github.com/fluxcd/flux2/pull/5574)\n- Update dependencies to Kubernetes v1.34.1 and Go 1.25.2 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5576](https://redirect.github.com/fluxcd/flux2/pull/5576)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5578](https://redirect.github.com/fluxcd/flux2/pull/5578)\n- Restore GitHub PAT for backports by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5581](https://redirect.github.com/fluxcd/flux2/pull/5581)\n- \\[RFC-0012] Add command `flux get source external` by [@&#8203;dgunzy](https://redirect.github.com/dgunzy) in [#&#8203;5555](https://redirect.github.com/fluxcd/flux2/pull/5555)\n- fix: handle error when writing password prompt to stdout by [@&#8203;akshatsinha0](https://redirect.github.com/akshatsinha0) in [#&#8203;5589](https://redirect.github.com/fluxcd/flux2/pull/5589)\n- Pin cosign to v2.6.1 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5594](https://redirect.github.com/fluxcd/flux2/pull/5594)\n- \\[RFC-0012] Add command `flux export source external` by [@&#8203;dgunzy](https://redirect.github.com/dgunzy) in [#&#8203;5583](https://redirect.github.com/fluxcd/flux2/pull/5583)\n- Fix bootstrap e2e test for image policy by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5604](https://redirect.github.com/fluxcd/flux2/pull/5604)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5603](https://redirect.github.com/fluxcd/flux2/pull/5603)\n- fix: return accepted values for flags when calling Values.Type() by [@&#8203;jaxels10](https://redirect.github.com/jaxels10) in [#&#8203;5602](https://redirect.github.com/fluxcd/flux2/pull/5602)\n- ci: Include source-watcher in the e2e test suite by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5614](https://redirect.github.com/fluxcd/flux2/pull/5614)\n- Add source.extensions.fluxcd.io group to aggregated RBAC roles by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5627](https://redirect.github.com/fluxcd/flux2/pull/5627)\n- Fix panic on reconcile with source of ExternalArtifact kind by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5630](https://redirect.github.com/fluxcd/flux2/pull/5630)\n- Upgrade k8s to 1.34.2, c-r to 0.22.4 and helm to 3.19.2 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5633](https://redirect.github.com/fluxcd/flux2/pull/5633)\n- diff: report if object is skipped by [@&#8203;hown3d](https://redirect.github.com/hown3d) in [#&#8203;5625](https://redirect.github.com/fluxcd/flux2/pull/5625)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5639](https://redirect.github.com/fluxcd/flux2/pull/5639)\n- Allow option to skip tenant namespace creation by [@&#8203;anshuishere](https://redirect.github.com/anshuishere) in [#&#8203;5597](https://redirect.github.com/fluxcd/flux2/pull/5597)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5648](https://redirect.github.com/fluxcd/flux2/pull/5648)\n- fix: [#&#8203;5654](https://redirect.github.com/fluxcd/flux2/issues/5654) by checking if both --chart and --chart-ref are set by [@&#8203;jaxels10](https://redirect.github.com/jaxels10) in [#&#8203;5656](https://redirect.github.com/fluxcd/flux2/pull/5656)\n- Added retry logic with delays to the Flux CLI download by [@&#8203;ivan-munteanu](https://redirect.github.com/ivan-munteanu) in [#&#8203;5659](https://redirect.github.com/fluxcd/flux2/pull/5659)\n- Run conformance tests for Kubernetes 1.35.0  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5663](https://redirect.github.com/fluxcd/flux2/pull/5663)\n- fix: normalize path for Windows compatibility by [@&#8203;sibasispadhi](https://redirect.github.com/sibasispadhi) in [#&#8203;5674](https://redirect.github.com/fluxcd/flux2/pull/5674)\n- Introduce support for looking up GH app installation ID by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5682](https://redirect.github.com/fluxcd/flux2/pull/5682)\n- Update dependencies to Kubernetes v1.35.0 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5688](https://redirect.github.com/fluxcd/flux2/pull/5688)\n- Fix resume command logging success after reconciliation failure by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool) in [#&#8203;5690](https://redirect.github.com/fluxcd/flux2/pull/5690)\n- Add 2.8 to supported versions for `flux migrate -f` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5713](https://redirect.github.com/fluxcd/flux2/pull/5713)\n- Introduce workflow for bumping fluxcd/pkg deps by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5717](https://redirect.github.com/fluxcd/flux2/pull/5717)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5719](https://redirect.github.com/fluxcd/flux2/pull/5719)\n- Fix event listing ignoring pagination token by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5721](https://redirect.github.com/fluxcd/flux2/pull/5721)\n- Build with Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5723](https://redirect.github.com/fluxcd/flux2/pull/5723)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5722](https://redirect.github.com/fluxcd/flux2/pull/5722)\n- Update helm-controller to v1.5.0 by [@&#8203;fluxcdbot](http\n\n> \u2757 **Important**\n> \n> \u2702 PR body was truncated to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\ud83d\udcc5 **Schedule**: (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule defined)\n\n\ud83d\udea6 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n\u267b **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\ud83d\udd15 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/102",
                                            "commit_id": "dce2d01c2ffc90fbfdab3f133076f76c67d272b7",
                                            "patchset": "dce2d01c2ffc90fbfdab3f133076f76c67d272b7",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere.common",
                                                "name": "vexxhost/atmosphere.common",
                                                "short_name": "atmosphere.common",
                                                "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                            },
                                            "src_dir": "src/github.com/vexxhost/atmosphere.common",
                                            "topic": null
                                        },
                                        {
                                            "branch": "main",
                                            "change": "102",
                                            "change_message": "chore(deps): update dependency fluxcd/flux2 to v2.9.5\n\n> \u2139\ufe0f **Note**\n> \n> This PR body was truncated due to platform limits.\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [fluxcd/flux2](https://redirect.github.com/fluxcd/flux2) | minor | `2.6.4` \u2192 `2.9.5` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fluxcd/flux2 (fluxcd/flux2)</summary>\n\n### [`v2.9.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.5)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5)\n\n#### Highlights\n\nFlux v2.9.5 is a patch release that moves helm-controller and source-controller back to upstream Helm, now at v4.2.4, dropping the temporary Flux fork. It hardens the handling of kubeconfig Secrets in helm-controller and kustomize-controller, which now reject kubeconfigs referencing files on the local filesystem and require credentials and certificates to be embedded inline. It also stops kustomize-controller from leaving behind the temporary directories of a previous process that exited without running its cleanup, and fixes a crash in post-build substitution where a substring expression with a negative length, e.g. `${VAR:2:-1}`, panicked instead of counting back from the end of the string like Bash does. Across all controllers and the CLI, the fluxcd/pkg dependencies have been updated, bringing Kubernetes to 1.36.4. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Validate kubeconfigs from `.spec.kubeConfig` Secrets, rejecting local file references in `certificate-authority`, `tokenFile`, `client-certificate` and `client-key`; credentials and certificates must be embedded inline (helm-controller, kustomize-controller)\n- Purge temporary directories at startup (kustomize-controller)\n- Fix panic on negative-length substring expressions in post-build substitution (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Move back to upstream Helm v4.2.4, dropping the Flux fork (helm-controller, source-controller)\n- Update fluxcd/pkg dependencies, which bring Kubernetes to 1.36.4 (all controllers, flux CLI)\n\n#### Components changelog\n\n- source-controller [v1.9.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.5/CHANGELOG.md)\n- source-watcher [v2.2.4](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.4/CHANGELOG.md)\n- kustomize-controller [v1.9.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.5/CHANGELOG.md)\n- helm-controller [v1.6.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.4/CHANGELOG.md)\n- notification-controller [v1.9.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.4/CHANGELOG.md)\n- image-reflector-controller [v1.2.5](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.5/CHANGELOG.md)\n- image-automation-controller [v1.2.5](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.5/CHANGELOG.md)\n\n#### CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6046](https://redirect.github.com/fluxcd/flux2/pull/6046)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6048](https://redirect.github.com/fluxcd/flux2/pull/6048)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6049](https://redirect.github.com/fluxcd/flux2/pull/6049)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.4...v2.9.5>\n\n### [`v2.9.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.4)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4)\n\n#### Highlights\n\nFlux v2.9.4 is a patch release that ships various fixes to the Flux controllers, covering source-watcher tarball extraction and glob expansion limits, the refspecs accepted by `ImageUpdateAutomation`, the HTTP request limits of the notification-controller servers, and Helm repository index loading, OCI chart digest pinning, `Bucket` error handling and GCS static authentication in source-controller. On the CLI side, `flux migrate -f` now supports migrating repositories to Flux 2.9. Users are encouraged to upgrade for the best experience.\n\nNote that this release contains CRD schema changes for `ArtifactGenerator` and `ImageUpdateAutomation`; both CRDs must be updated along with the controllers.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Confine tarball extraction and bound glob expansion (source-watcher)\n- Disallow force-update and deletion via refspecs (image-automation-controller)\n- Unify HTTP server request limits (notification-controller)\n- Align Helm repository index loading with upstream Helm v4 (source-controller)\n- Improve error handling in `Bucket` reconciliation (source-controller)\n- Pin OCI chart verification by digest (source-controller)\n- Limit GCS static authentication to service account keys (source-controller)\n- Restrict the `allow-webhooks` network policy to the receiver port (flux CLI)\n\nImprovements:\n\n- Add support for migrating repositories to 2.9 in `flux migrate -f` (flux CLI)\n- Update fluxcd/pkg dependencies, which align the ECR host detection with upstream (source-controller, image-reflector-controller, flux CLI)\n- Update Bitbucket Cloud receiver guidance (notification-controller)\n\n#### Components changelog\n\n- source-controller [v1.9.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.4/CHANGELOG.md)\n- source-watcher [v2.2.3](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.3/CHANGELOG.md)\n- notification-controller [v1.9.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.3/CHANGELOG.md)\n- image-reflector-controller [v1.2.4](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.4/CHANGELOG.md)\n- image-automation-controller [v1.2.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.4/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.9.x] Add support for 2.9 in `migrate -f` by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6021](https://redirect.github.com/fluxcd/flux2/pull/6021)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6026](https://redirect.github.com/fluxcd/flux2/pull/6026)\n- \\[release/v2.9.x] fix: restrict `allow-webhooks` netpol to receiver port by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6029](https://redirect.github.com/fluxcd/flux2/pull/6029)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6031](https://redirect.github.com/fluxcd/flux2/pull/6031)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.3...v2.9.4>\n\n### [`v2.9.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.3)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3)\n\n#### Highlights\n\nFlux v2.9.3 is a patch release. It fixes empty lines vanishing from rendered Helm chart manifests, HelmReleases being marked as tested when their Helm test hooks never ran, and `spec.images` entries that set only some image fields discarding the remaining fields already declared for the same image in the `kustomization.yaml`. The latter affects both kustomize-controller and the `flux build|diff kustomization` commands. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix empty lines vanishing from rendered chart manifests (helm-controller)\n- Fix `HasBeenTested` for all corner cases, where a release could be marked as tested although its Helm test hooks never ran (helm-controller)\n- Fix a `spec.images` entry setting only some of the image fields discarding the remaining fields already declared for the same image in the `kustomization.yaml` at `spec.path`, e.g. overriding only `newName` produced an untagged image reference (kustomize-controller, flux CLI)\n\nImprovements:\n\n- Update fluxcd/pkg dependencies\n- Include source-watcher in the OCI flux-manifests artifact\n\n#### Components changelog\n\n- kustomize-controller [v1.9.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.4/CHANGELOG.md)\n- helm-controller [v1.6.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.3/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.9.x] Include source-watcher to oci flux-manifests by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5996](https://redirect.github.com/fluxcd/flux2/pull/5996)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6006](https://redirect.github.com/fluxcd/flux2/pull/6006)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;6011](https://redirect.github.com/fluxcd/flux2/pull/6011)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3>\n\n### [`v2.9.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.2)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2)\n\n##### Highlights\n\nFlux v2.9.2 is a patch release. The main fix addresses a regression introduced in\nv2.9.1 where a Kustomization with `openapi.path` pointing to a URL failed to\nreconcile with `failed to read OpenAPI schema`. This release also corrects several\nCRD field descriptions that contained inaccurate or leaked content. Users are\nencouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix a regression where a Kustomization with `openapi.path` pointing to a URL failed to reconcile with `failed to read OpenAPI schema` (kustomize-controller)\n- Fix the `HelmChart` CRD description for `.status.url`, which pointed users at `BucketStatus.Artifact` instead of `HelmChartStatus.Artifact` (source-controller)\n- Fix the `ImageRepository` CRD description for `.status.observedExclusionList`, which referred to `spec.lastScanResult` instead of `status.lastScanResult` (image-reflector-controller)\n- Fix the `ImageUpdateAutomation` CRD description for `.status.observedSourceRevision`, which had a stray Go struct declaration leaking into it (image-automation-controller)\n\nImprovements:\n\n- Update fluxcd/pkg dependencies\n\n##### Components changelog\n\n- source-controller [v1.9.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.3/CHANGELOG.md)\n- kustomize-controller [v1.9.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.3/CHANGELOG.md)\n- helm-controller [v1.6.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md)\n- notification-controller [v1.9.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md)\n- image-reflector-controller [v1.2.3](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.3/CHANGELOG.md)\n- image-automation-controller [v1.2.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.3/CHANGELOG.md)\n- source-watcher [v2.2.2](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5984](https://redirect.github.com/fluxcd/flux2/pull/5984)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5990](https://redirect.github.com/fluxcd/flux2/pull/5990)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5994](https://redirect.github.com/fluxcd/flux2/pull/5994)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2>\n\n### [`v2.9.1`](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1)\n\n### [`v2.9.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.9.0)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.8...v2.9.0)\n\n##### Highlights\n\nFlux v2.9.0 is a feature release. Users are encouraged to upgrade for the best experience.\n\nFor a compressive overview of new features and API changes included in this release, please refer to the [Announcing Flux 2.9 GA blog post](https://fluxcd.io/blog/2026/06/flux-v2.9.0/).\n\nOverview of the new features:\n\n- Flux CLI Plugin System with the Mirror and Schema plugins (`flux plugin`)\n- Server-Side Apply field ignore rules for fine-grained drift control (`Kustomization`)\n- SOPS decryption with the Age post-quantum cipher (`Kustomization`)\n- Kubernetes Workload Identity authentication for OpenBao and Vault (`Kustomization`)\n- Helm post-render strategies, including chart hooks support (`HelmRelease`)\n- Literal mode for Helm values references mirroring `helm --set-literal` (`HelmRelease`)\n- Allow empty kind in CEL health check expressions (`Kustomization`, `HelmRelease`)\n- Git commit signing and verification with SSH keys (`GitRepository`, `ImageUpdateAutomation`)\n- AWS CodeCommit authentication using Workload Identity (`GitRepository`)\n- Custom Sigstore trusted root for keyless verification in air-gapped environments (`OCIRepository`)\n- Path pattern directory discovery for monorepos (`ArtifactGenerator`)\n- Secret-less, OIDC-secured webhook Receivers (`Receiver`)\n\n\u2764\ufe0f Big thanks to all the Flux contributors that helped us with this release!\n\n##### Kubernetes compatibility\n\nThis release is compatible with the following Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------ | ---------------- |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`            | `>= 1.35.0`      |\n| `v1.36`            | `>= 1.36.0`      |\n\n> \\[!NOTE]\n> Note that the Flux project offers support only for the latest three minor versions of Kubernetes.\n> Backwards compatibility with older versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/) that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux can be installed on Red Hat OpenShift cluster directly from OperatorHub using [Flux Operator](https://operatorhub.io/operator/flux-operator). The operator allows the configuration of Flux multi-tenancy lockdown, network policies, persistent storage, sharding, vertical scaling and the synchronization of the cluster state from Git repositories, OCI artifacts, and S3-compatible storage.\n\n##### Upgrade procedure\n\n:warning: The Flux APIs `image.toolkit.fluxcd.io/v1beta2` and `notification.toolkit.fluxcd.io/v1beta2`\nhave reached end-of-life and have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from older versions of Flux to v2.9.\n\n##### Components changelog\n\n- source-controller [v1.9.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md)\n- kustomize-controller [v1.9.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md)\n- notification-controller [v1.9.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md)\n- helm-controller [v1.6.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md)\n- image-reflector-controller [v1.2.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md)\n- image-automation-controller [v1.2.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md)\n- source-watcher [v2.2.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md)\n\n##### CLI changelog\n\n- Add backport label for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5732](https://redirect.github.com/fluxcd/flux2/pull/5732)\n- Remove no longer needed workaround for Flux 2.8 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5733](https://redirect.github.com/fluxcd/flux2/pull/5733)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5740](https://redirect.github.com/fluxcd/flux2/pull/5740)\n- Add missing things to release notes template by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5743](https://redirect.github.com/fluxcd/flux2/pull/5743)\n- ci: add top-level permissions to upgrade-fluxcd-pkg workflow by [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94) in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n- build(deps): bump the ci group across 1 directory with 11 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5764](https://redirect.github.com/fluxcd/flux2/pull/5764)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5766](https://redirect.github.com/fluxcd/flux2/pull/5766)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5769](https://redirect.github.com/fluxcd/flux2/pull/5769)\n- Add target branch name to update branch by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5773](https://redirect.github.com/fluxcd/flux2/pull/5773)\n- Fix/resume exit code by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool) in [#&#8203;5701](https://redirect.github.com/fluxcd/flux2/pull/5701)\n- Mark RFC 0010, 0011 and 0012 as implemented by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5776](https://redirect.github.com/fluxcd/flux2/pull/5776)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5780](https://redirect.github.com/fluxcd/flux2/pull/5780)\n- Add --resolve-symlinks flag to build and push artifact commands by [@&#8203;rohansood10](https://redirect.github.com/rohansood10) in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n- fix: validate --source flag in create kustomization command by [@&#8203;gma1k](https://redirect.github.com/gma1k) in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5821](https://redirect.github.com/fluxcd/flux2/pull/5821)\n- Add `--show-source` to `flux get ks` and `flux get hr`  by [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n- Add `flux create secret receiver` command by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5835](https://redirect.github.com/fluxcd/flux2/pull/5835)\n- fix: handle multiple symlinks to same target in build artifact by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh) in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n- Add `--in-memory-build` to `flux build ks` and `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli) in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n- Migrate end-to-end test to latest cloud SDKs  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5840](https://redirect.github.com/fluxcd/flux2/pull/5840)\n- docs: Add AI Coding Assistants Guidance  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5841](https://redirect.github.com/fluxcd/flux2/pull/5841)\n- Add AI Agents guidance by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5847](https://redirect.github.com/fluxcd/flux2/pull/5847)\n- \\[RFC-0013] Flux CLI Plugin System by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5795](https://redirect.github.com/fluxcd/flux2/pull/5795)\n- Add `--ignore-not-found` to `flux diff ks` by [@&#8203;rycli](https://redirect.github.com/rycli) in [#&#8203;5845](https://redirect.github.com/fluxcd/flux2/pull/5845)\n- \\[RFC-0013] Implement plugin system by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5849](https://redirect.github.com/fluxcd/flux2/pull/5849)\n- build(deps): bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5853](https://redirect.github.com/fluxcd/flux2/pull/5853)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5856](https://redirect.github.com/fluxcd/flux2/pull/5856)\n- Add digest pinning support to `flux plugin install` by [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh) in [#&#8203;5872](https://redirect.github.com/fluxcd/flux2/pull/5872)\n- Add `--ns-follows-kube-context` global flag for using the kubeconfig context namespace by [@&#8203;jtyr](https://redirect.github.com/jtyr) in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n- include source-watcher in install.yaml manifests by [@&#8203;tmmorin](https://redirect.github.com/tmmorin) in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5890](https://redirect.github.com/fluxcd/flux2/pull/5890)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5903](https://redirect.github.com/fluxcd/flux2/pull/5903)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5907](https://redirect.github.com/fluxcd/flux2/pull/5907)\n- Validate Helm source URL schemes by [@&#8203;immanuwell](https://redirect.github.com/immanuwell) in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n- Introduce `flux trigger receiver` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5908](https://redirect.github.com/fluxcd/flux2/pull/5908)\n- refactor(api): migrate MakeDependsOn to shared apis/meta func by [@&#8203;vecil](https://redirect.github.com/vecil) in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n- Update to Kubernetes 1.36 and Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5924](https://redirect.github.com/fluxcd/flux2/pull/5924)\n- build(deps): bump the ci group across 1 directory with 19 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5925](https://redirect.github.com/fluxcd/flux2/pull/5925)\n- Run conformance tests for Kubernetes 1.36 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5926](https://redirect.github.com/fluxcd/flux2/pull/5926)\n- Add support for AWS CodeCommit to `flux bootstrap git` by [@&#8203;taraspos](https://redirect.github.com/taraspos) in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n- Validate plugin binary path by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5927](https://redirect.github.com/fluxcd/flux2/pull/5927)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5928](https://redirect.github.com/fluxcd/flux2/pull/5928)\n- fix: preserve invalid metadata.labels in `flux build ks` by [@&#8203;raffis](https://redirect.github.com/raffis) in [#&#8203;5906](https://redirect.github.com/fluxcd/flux2/pull/5906)\n- build: target host arch for local builds/envtest by [@&#8203;stealthybox](https://redirect.github.com/stealthybox) in [#&#8203;5932](https://redirect.github.com/fluxcd/flux2/pull/5932)\n- build(deps): bump the ci group with 6 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5938](https://redirect.github.com/fluxcd/flux2/pull/5938)\n- Support specifing sparseCheckout in flux bootstrap by [@&#8203;piny940](https://redirect.github.com/piny940) in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5944](https://redirect.github.com/fluxcd/flux2/pull/5944)\n- Honor `ks.spec.postBuild.substituteStrategy` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5945](https://redirect.github.com/fluxcd/flux2/pull/5945)\n- Add DriftIgnoreRules support to flux diff kustomization by [@&#8203;dipti-pai](https://redirect.github.com/dipti-pai) in [#&#8203;5923](https://redirect.github.com/fluxcd/flux2/pull/5923)\n- Allow signing commits using SSH key by [@&#8203;hiddeco](https://redirect.github.com/hiddeco) in [#&#8203;5920](https://redirect.github.com/fluxcd/flux2/pull/5920)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5950](https://redirect.github.com/fluxcd/flux2/pull/5950)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5937](https://redirect.github.com/fluxcd/flux2/pull/5937)\n- cmd: support `type!=status` in get --status-selector by [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje) in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n- Fix `flux get all --status-selector` for empty results and notification resources by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5954](https://redirect.github.com/fluxcd/flux2/pull/5954)\n- Upgrade go-git-providers to v0.27.0 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5956](https://redirect.github.com/fluxcd/flux2/pull/5956)\n- Fix using Receiver adapter for ArtifactGenerator by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5957](https://redirect.github.com/fluxcd/flux2/pull/5957)\n- feat: Install Plugins alongside Flux setup in gh actions by [@&#8203;gat786](https://redirect.github.com/gat786) in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5960](https://redirect.github.com/fluxcd/flux2/pull/5960)\n- Add CLI support for OCIRepository.spec.layerSelector in flux create source oci by [@&#8203;dme86](https://redirect.github.com/dme86) in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5963](https://redirect.github.com/fluxcd/flux2/pull/5963)\n\n##### New Contributors\n\n- [@&#8203;gaganhr94](https://redirect.github.com/gaganhr94) made their first contribution in [#&#8203;5763](https://redirect.github.com/fluxcd/flux2/pull/5763)\n- [@&#8203;rohansood10](https://redirect.github.com/rohansood10) made their first contribution in [#&#8203;5724](https://redirect.github.com/fluxcd/flux2/pull/5724)\n- [@&#8203;gma1k](https://redirect.github.com/gma1k) made their first contribution in [#&#8203;5798](https://redirect.github.com/fluxcd/flux2/pull/5798)\n- [@&#8203;rafaelperoco](https://redirect.github.com/rafaelperoco) made their first contribution in [#&#8203;5828](https://redirect.github.com/fluxcd/flux2/pull/5828)\n- [@&#8203;Iam-Karan-Suresh](https://redirect.github.com/Iam-Karan-Suresh) made their first contribution in [#&#8203;5833](https://redirect.github.com/fluxcd/flux2/pull/5833)\n- [@&#8203;rycli](https://redirect.github.com/rycli) made their first contribution in [#&#8203;5794](https://redirect.github.com/fluxcd/flux2/pull/5794)\n- [@&#8203;jtyr](https://redirect.github.com/jtyr) made their first contribution in [#&#8203;5831](https://redirect.github.com/fluxcd/flux2/pull/5831)\n- [@&#8203;tmmorin](https://redirect.github.com/tmmorin) made their first contribution in [#&#8203;5881](https://redirect.github.com/fluxcd/flux2/pull/5881)\n- [@&#8203;immanuwell](https://redirect.github.com/immanuwell) made their first contribution in [#&#8203;5909](https://redirect.github.com/fluxcd/flux2/pull/5909)\n- [@&#8203;vecil](https://redirect.github.com/vecil) made their first contribution in [#&#8203;5912](https://redirect.github.com/fluxcd/flux2/pull/5912)\n- [@&#8203;taraspos](https://redirect.github.com/taraspos) made their first contribution in [#&#8203;5868](https://redirect.github.com/fluxcd/flux2/pull/5868)\n- [@&#8203;piny940](https://redirect.github.com/piny940) made their first contribution in [#&#8203;5918](https://redirect.github.com/fluxcd/flux2/pull/5918)\n- [@&#8203;3uzbcqje](https://redirect.github.com/3uzbcqje) made their first contribution in [#&#8203;5952](https://redirect.github.com/fluxcd/flux2/pull/5952)\n- [@&#8203;gat786](https://redirect.github.com/gat786) made their first contribution in [#&#8203;5955](https://redirect.github.com/fluxcd/flux2/pull/5955)\n- [@&#8203;dme86](https://redirect.github.com/dme86) made their first contribution in [#&#8203;5892](https://redirect.github.com/fluxcd/flux2/pull/5892)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.9.0>\n\n### [`v2.8.8`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.8)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8)\n\n##### Highlights\n\nFlux v2.8.8 is a patch release that includes CVE fixes via go-git v5.19.1 (source-controller, image-automation-controller), reliability fixes in helm-controller and source-controller, the move of Helm back to upstream v4.2.0, support for GCP sovereign cloud artifact registries, and dependency updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Add a configurable HTTP timeout for artifact fetching, preventing fetches that could block indefinitely and stall reconciliations (helm-controller)\n- Fix unbounded memory growth caused by a Kubernetes client transport retry wrapper accumulating on every reconcile (helm-controller)\n- Stop force-applying non-CRD objects placed under a chart's `crds/` directory (helm-controller)\n- Fix the Helm test action failing to find releases with names longer than 53 characters (helm-controller)\n- Improve path handling in the source reconcilers (source-controller)\n- Support Helm semver build-metadata encoding in OCIRepository tags (source-controller)\n\nImprovements:\n\n- Update go-git to v5.19.1 which fixes [CVE-2026-45571](https://redirect.github.com/advisories/GHSA-crhj-59gh-8x96) and [CVE-2026-45570](https://redirect.github.com/advisories/GHSA-m7cr-m3pv-hgrp) (source-controller, image-automation-controller)\n- Move Helm back to upstream v4.2.0 (source-controller, helm-controller)\n- Add support for GCP sovereign cloud artifact registries (source-controller, image-reflector-controller)\n- Upgrade Kubernetes to 1.36.1 (source-controller, helm-controller)\n- Update fluxcd/pkg dependencies\n\n##### Components changelog\n\n- helm-controller [v1.5.5](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.5/CHANGELOG.md)\n- image-automation-controller [v1.1.4](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.4/CHANGELOG.md)\n- image-reflector-controller [v1.1.2](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.1.2/CHANGELOG.md)\n- source-controller [v1.8.5](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.5/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5904](https://redirect.github.com/fluxcd/flux2/pull/5904)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8>\n\n### [`v2.8.7`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.7)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.6...v2.8.7)\n\n##### Highlights\n\nFlux v2.8.7 is a patch release that includes a bug fix in kustomize-controller, a CVE fix in source-controller and image-automation-controller via go-git v5.19.0, and dependency updates. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix management of objects annotated with `kustomize.toolkit.fluxcd.io/ssa: IfNotPresent` where non-namespaced resources were being deleted and recreated on each reconciliation (kustomize-controller)\n\nImprovements:\n\n- Update go-git to v5.19.0 which fixes [CVE-2026-45022](https://redirect.github.com/advisories/GHSA-389r-gv7p-r3rp) (source-controller, image-automation-controller)\n- Update fluxcd/pkg dependencies (source-controller, kustomize-controller, image-automation-controller)\n\n##### Components changelog\n\n- helm-controller [v1.5.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.4/CHANGELOG.md)\n- image-automation-controller [v1.1.3](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.3/CHANGELOG.md)\n- kustomize-controller [v1.8.5](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.5/CHANGELOG.md)\n- notification-controller [v1.8.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.4/CHANGELOG.md)\n- source-controller [v1.8.4](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.4/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5891](https://redirect.github.com/fluxcd/flux2/pull/5891)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.6...v2.8.7>\n\n### [`v2.8.6`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.6)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.5...v2.8.6)\n\n##### Highlights\n\nFlux v2.8.6 is a patch release that includes bug fixes and improvements across helm-controller, image-automation-controller, kustomize-controller, notification-controller, and source-controller. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix a post-renderer conflict between overlapping hooks and templates (helm-controller)\n- Ignore force replace when server-side apply is enabled (helm-controller)\n- Fix a regression where generic providers would not forward commit status events (notification-controller)\n- Require the `audience` field on the GCR Receiver secret for tighter verification \u2014 will become mandatory in Flux v2.9 (notification-controller)\n\nImprovements:\n\n- Introduce the `MigrateAPIVersion` feature gate for migrating the API version of resources in managed field entries (kustomize-controller)\n- Update go-git to v5.18.0 bringing performance improvements for Git operations (source-controller, image-automation-controller)\n\n##### Components changelog\n\n- helm-controller [v1.5.4](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.4/CHANGELOG.md)\n- image-automation-controller [v1.1.2](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.2/CHANGELOG.md)\n- kustomize-controller [v1.8.4](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.4/CHANGELOG.md)\n- notification-controller [v1.8.4](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.4/CHANGELOG.md)\n- source-controller [v1.8.3](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.3/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5857](https://redirect.github.com/fluxcd/flux2/pull/5857)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.5...v2.8.6>\n\n### [`v2.8.5`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.5)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.4...v2.8.5)\n\n##### Highlights\n\nFlux v2.8.5 is a patch release that includes bug fixes and improvements across kustomize-controller, source-controller, and notification-controller. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix a race condition where a cancelled reconciliation could leave stale data in the cache, causing Kustomizations to get stuck (kustomize-controller)\n- Fix Azure Blob prefix option not being passed to the storage client (source-controller)\n\nImprovements:\n\n- Improve error message for encrypted SSH keys without password (source-controller)\n- Add optional `email` and `audience` fields to the GCR Receiver for tighter verification (notification-controller)\n- Add provider manifest example for Azure Event Hub managed identity authentication (notification-controller)\n\n##### Components changelog\n\n- kustomize-controller [v1.8.3](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.3/CHANGELOG.md)\n- source-controller [v1.8.2](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.2/CHANGELOG.md)\n- notification-controller [v1.8.3](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.3/CHANGELOG.md)\n\n##### CLI changelog\n\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5822](https://redirect.github.com/fluxcd/flux2/pull/5822)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.4...v2.8.5>\n\n### [`v2.8.4`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.4)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.3...v2.8.4)\n\n##### Highlights\n\nFlux v2.8.4 is a patch release that includes fixes for the Flux CLI. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix `flux build ks` and `flux diff ks` on Windows\n- Fix `--source` flag validation in `create kustomization` command\n\n##### CLI changelog\n\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5796](https://redirect.github.com/fluxcd/flux2/pull/5796)\n- \\[release/v2.8.x] fix: validate --source flag in create kustomization command by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5799](https://redirect.github.com/fluxcd/flux2/pull/5799)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.3...v2.8.4>\n\n### [`v2.8.3`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.3)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.2...v2.8.3)\n\n#### Highlights\n\nFlux v2.8.3 is a patch release that fixes a regression in helm-controller. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix templating errors for charts that include `---` in the content, e.g. YAML separators, embedded scripts, CAs inside ConfigMaps (helm-controller)\n\n#### Components changelog\n\n- helm-controller [v1.5.3](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.3/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.8.x] Add target branch name to update branch by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5774](https://redirect.github.com/fluxcd/flux2/pull/5774)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5779](https://redirect.github.com/fluxcd/flux2/pull/5779)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.2...v2.8.3>\n\n### [`v2.8.2`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.2)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.1...v2.8.2)\n\n#### Highlights\n\nFlux v2.8.2 is a patch release that comes with various fixes. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix enqueuing new reconciliation requests for events on source Flux objects when they are already reconciling the revision present in the watch event (kustomize-controller, helm-controller)\n- Fix the Go templates bug of YAML separator `---` getting concatenated to `apiVersion:` by updating to Helm 4.1.3 (helm-controller)\n- Fix canceled HelmReleases getting stuck when they don't have a retry strategy configured by introducing a new feature gate `DefaultToRetryOnFailure` that improves the experience when the `CancelHealthCheckOnNewRevision` is enabled (helm-controller)\n- Fix the auth scope for Azure Container Registry to use the ACR-specific scope (source-controller, image-reflector-controller)\n- Fix potential Denial of Service (DoS) during TLS handshakes (CVE-2026-27138) by building all controllers with Go 1.26.1\n\n#### Components changelog\n\n- source-controller [v1.8.1](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.1/CHANGELOG.md)\n- kustomize-controller [v1.8.2](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.2/CHANGELOG.md)\n- notification-controller [v1.8.2](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.2/CHANGELOG.md)\n- helm-controller [v1.5.2](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.2/CHANGELOG.md)\n- image-reflector-controller [v1.1.1](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.1.1/CHANGELOG.md)\n- image-automation-controller [v1.1.1](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.1/CHANGELOG.md)\n- source-watcher [v2.1.1](https://redirect.github.com/fluxcd/source-watcher/blob/v2.1.1/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.8.x] build(deps): bump the ci group across 1 directory with 11 updates by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5765](https://redirect.github.com/fluxcd/flux2/pull/5765)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5767](https://redirect.github.com/fluxcd/flux2/pull/5767)\n- Update toolkit components by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5770](https://redirect.github.com/fluxcd/flux2/pull/5770)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5771](https://redirect.github.com/fluxcd/flux2/pull/5771)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.1...v2.8.2>\n\n### [`v2.8.1`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.1)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.8.0...v2.8.1)\n\n#### Highlights\n\nFlux v2.8.1 is a patch release that comes with various fixes. Users are encouraged to upgrade for the best experience.\n\n\u2139\ufe0f Please follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from Flux v2.6 to the latest version.\n\nFixes:\n\n- Fix Git commit status events being dropped for Kustomizations (notification-controller)\n- Fix health check for StatefulSets when the Pods are Pending/Unschedulable during rollout (helm-controller, kustomize-controller)\n\n#### Components changelog\n\n- kustomize-controller [v1.8.1](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.1/CHANGELOG.md)\n- notification-controller [v1.8.1](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.1/CHANGELOG.md)\n- helm-controller [v1.5.1](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.1/CHANGELOG.md)\n\n#### CLI changelog\n\n- \\[release/v2.8.x] Remove no longer needed workaround for Flux 2.8 by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5735](https://redirect.github.com/fluxcd/flux2/pull/5735)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5739](https://redirect.github.com/fluxcd/flux2/pull/5739)\n- \\[release/v2.8.x] Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5741](https://redirect.github.com/fluxcd/flux2/pull/5741)\n\n**Full Changelog**: <https://github.com/fluxcd/flux2/compare/v2.8.0...v2.8.1>\n\n### [`v2.8.0`](https://redirect.github.com/fluxcd/flux2/releases/tag/v2.8.0)\n\n[Compare Source](https://redirect.github.com/fluxcd/flux2/compare/v2.7.5...v2.8.0)\n\n#### Highlights\n\nFlux v2.8.0 is a feature release. Users are encouraged to upgrade for the best experience.\n\nFor a compressive overview of new features and API changes included in this release, please refer to the [Announcing Flux 2.8 GA blog post](https://fluxcd.io/blog/2026/02/flux-v2.8.0/).\n\nOverview of the new features:\n\n- Helm v4 support, including server-side apply and kstatus-based health checking (`HelmRelease`)\n- Readiness evaluation of Helm-managed objects with CEL expressions (`HelmRelease`)\n- Improved observability of Helm releases with inventory tracking in `.status.inventory` (`HelmRelease`)\n- Reduced the mean time to recovery of Flux-managed applications via `CancelHealthCheckOnNewRevision` feature gate (`Kustomization`, `HelmRelease`)\n- Support for commenting on Pull Requests directly from Flux notifications (`Provider`)\n- Custom SSA apply stages for ordering resource application in kustomize-controller (`Kustomization`)\n- Automatic GitHub App installation ID lookup from the repository owner (`GitRepository`, `ImageUpdateAutomation`, `Provider`)\n- Support for Cosign v3 for verifying OCI artifacts and container images (`OCIRepository`)\n- ArtifactGenerator support for extracting and modifying Helm charts (`ArtifactGenerator`)\n- Bypass cache when fetching source objects via `DirectSourceFetch` feature gate (`Kustomization`, `HelmRelease`, `ArtifactGenerator`)\n\n\u2764\ufe0f Big thanks to all the Flux contributors that helped us with this release!\n\n##### Kubernetes compatibility\n\nThis release is compatible with the following Kubernetes versions:\n\n| Kubernetes version | Minimum required |\n| ------------------ | ---------------- |\n| `v1.33`            | `>= 1.32.0`      |\n| `v1.34`            | `>= 1.34.1`      |\n| `v1.35`            | `>= 1.35.0`      |\n\n> \\[!NOTE]\n> Note that the Flux project offers support only for the latest three minor versions of Kubernetes.\n> Backwards compatibility with older versions of Kubernetes and OpenShift is offered by vendors such as\n> [ControlPlane](https://control-plane.io/enterprise-for-flux-cd/) that provide enterprise support for Flux.\n\n##### OpenShift compatibility\n\nFlux can be installed on Red Hat OpenShift cluster directly from OperatorHub using [Flux Operator](https://operatorhub.io/operator/flux-operator). The operator allows the configuration of Flux multi-tenancy lockdown, network policies, persistent storage, sharding, vertical scaling and the synchronization of the cluster state from Git repositories, OCI artifacts, and S3-compatible storage.\n\n#### Upgrade procedure\n\n:warning: The Flux APIs `v1beta2` and `v2beta2` (deprecated in 2024) have reached end-of-life and have been removed from the CRDs.\n\nPlease follow the [Upgrade Procedure for Flux v2.7+](https://redirect.github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from older versions of Flux to v2.8.\n\n#### Components changelog\n\n- source-controller [v1.8.0](https://redirect.github.com/fluxcd/source-controller/blob/v1.8.0/CHANGELOG.md)\n- kustomize-controller [v1.8.0](https://redirect.github.com/fluxcd/kustomize-controller/blob/v1.8.0/CHANGELOG.md)\n- notification-controller [v1.8.0](https://redirect.github.com/fluxcd/notification-controller/blob/v1.8.0/CHANGELOG.md)\n- helm-controller [v1.5.0](https://redirect.github.com/fluxcd/helm-controller/blob/v1.5.0/CHANGELOG.md)\n- image-reflector-controller [v1.1.0](https://redirect.github.com/fluxcd/image-reflector-controller/blob/v1.1.0/CHANGELOG.md)\n- image-automation-controller [v1.1.0](https://redirect.github.com/fluxcd/image-automation-controller/blob/v1.1.0/CHANGELOG.md)\n- source-watcher [v2.1.0](https://redirect.github.com/fluxcd/source-watcher/blob/v2.1.0/CHANGELOG.md)\n\n#### CLI changelog\n\n- ci: Set `GITHUB_TOKEN` in the `release-flux-manifests` workflow by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5547](https://redirect.github.com/fluxcd/flux2/pull/5547)\n- Add backport label for Flux 2.7 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5550](https://redirect.github.com/fluxcd/flux2/pull/5550)\n- build(deps): bump the ci group across 1 directory with 3 updates by [@&#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in [#&#8203;5548](https://redirect.github.com/fluxcd/flux2/pull/5548)\n- Fix `flux push artifact` not working with `--provider` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5551](https://redirect.github.com/fluxcd/flux2/pull/5551)\n- Extend `flux migrate` to work with local files by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5554](https://redirect.github.com/fluxcd/flux2/pull/5554)\n- Improve `flux migrate` for live cluster migrations by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5558](https://redirect.github.com/fluxcd/flux2/pull/5558)\n- Fix `flux migrate -f` command to work with comments by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5560](https://redirect.github.com/fluxcd/flux2/pull/5560)\n- Add source-watcher to docs by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5562](https://redirect.github.com/fluxcd/flux2/pull/5562)\n- Fix `flux migrate -f` not considering kind comments by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5563](https://redirect.github.com/fluxcd/flux2/pull/5563)\n- refactor: convert `Kustomization` resource into unstructured map only once during variable substitution by [@&#8203;ramasai1](https://redirect.github.com/ramasai1) in [#&#8203;5566](https://redirect.github.com/fluxcd/flux2/pull/5566)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5568](https://redirect.github.com/fluxcd/flux2/pull/5568)\n- Disable AUR publishing by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5570](https://redirect.github.com/fluxcd/flux2/pull/5570)\n- Fix manifest generation for `--storage-adv-addr` and `--events-addr` flags by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5574](https://redirect.github.com/fluxcd/flux2/pull/5574)\n- Update dependencies to Kubernetes v1.34.1 and Go 1.25.2 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5576](https://redirect.github.com/fluxcd/flux2/pull/5576)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5578](https://redirect.github.com/fluxcd/flux2/pull/5578)\n- Restore GitHub PAT for backports by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5581](https://redirect.github.com/fluxcd/flux2/pull/5581)\n- \\[RFC-0012] Add command `flux get source external` by [@&#8203;dgunzy](https://redirect.github.com/dgunzy) in [#&#8203;5555](https://redirect.github.com/fluxcd/flux2/pull/5555)\n- fix: handle error when writing password prompt to stdout by [@&#8203;akshatsinha0](https://redirect.github.com/akshatsinha0) in [#&#8203;5589](https://redirect.github.com/fluxcd/flux2/pull/5589)\n- Pin cosign to v2.6.1 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5594](https://redirect.github.com/fluxcd/flux2/pull/5594)\n- \\[RFC-0012] Add command `flux export source external` by [@&#8203;dgunzy](https://redirect.github.com/dgunzy) in [#&#8203;5583](https://redirect.github.com/fluxcd/flux2/pull/5583)\n- Fix bootstrap e2e test for image policy by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5604](https://redirect.github.com/fluxcd/flux2/pull/5604)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5603](https://redirect.github.com/fluxcd/flux2/pull/5603)\n- fix: return accepted values for flags when calling Values.Type() by [@&#8203;jaxels10](https://redirect.github.com/jaxels10) in [#&#8203;5602](https://redirect.github.com/fluxcd/flux2/pull/5602)\n- ci: Include source-watcher in the e2e test suite by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5614](https://redirect.github.com/fluxcd/flux2/pull/5614)\n- Add source.extensions.fluxcd.io group to aggregated RBAC roles by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5627](https://redirect.github.com/fluxcd/flux2/pull/5627)\n- Fix panic on reconcile with source of ExternalArtifact kind by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5630](https://redirect.github.com/fluxcd/flux2/pull/5630)\n- Upgrade k8s to 1.34.2, c-r to 0.22.4 and helm to 3.19.2 by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5633](https://redirect.github.com/fluxcd/flux2/pull/5633)\n- diff: report if object is skipped by [@&#8203;hown3d](https://redirect.github.com/hown3d) in [#&#8203;5625](https://redirect.github.com/fluxcd/flux2/pull/5625)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5639](https://redirect.github.com/fluxcd/flux2/pull/5639)\n- Allow option to skip tenant namespace creation by [@&#8203;anshuishere](https://redirect.github.com/anshuishere) in [#&#8203;5597](https://redirect.github.com/fluxcd/flux2/pull/5597)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5648](https://redirect.github.com/fluxcd/flux2/pull/5648)\n- fix: [#&#8203;5654](https://redirect.github.com/fluxcd/flux2/issues/5654) by checking if both --chart and --chart-ref are set by [@&#8203;jaxels10](https://redirect.github.com/jaxels10) in [#&#8203;5656](https://redirect.github.com/fluxcd/flux2/pull/5656)\n- Added retry logic with delays to the Flux CLI download by [@&#8203;ivan-munteanu](https://redirect.github.com/ivan-munteanu) in [#&#8203;5659](https://redirect.github.com/fluxcd/flux2/pull/5659)\n- Run conformance tests for Kubernetes 1.35.0  by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5663](https://redirect.github.com/fluxcd/flux2/pull/5663)\n- fix: normalize path for Windows compatibility by [@&#8203;sibasispadhi](https://redirect.github.com/sibasispadhi) in [#&#8203;5674](https://redirect.github.com/fluxcd/flux2/pull/5674)\n- Introduce support for looking up GH app installation ID by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5682](https://redirect.github.com/fluxcd/flux2/pull/5682)\n- Update dependencies to Kubernetes v1.35.0 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5688](https://redirect.github.com/fluxcd/flux2/pull/5688)\n- Fix resume command logging success after reconciliation failure by [@&#8203;Aman-Cool](https://redirect.github.com/Aman-Cool) in [#&#8203;5690](https://redirect.github.com/fluxcd/flux2/pull/5690)\n- Add 2.8 to supported versions for `flux migrate -f` by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5713](https://redirect.github.com/fluxcd/flux2/pull/5713)\n- Introduce workflow for bumping fluxcd/pkg deps by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5717](https://redirect.github.com/fluxcd/flux2/pull/5717)\n- Update fluxcd/pkg dependencies by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5719](https://redirect.github.com/fluxcd/flux2/pull/5719)\n- Fix event listing ignoring pagination token by [@&#8203;matheuscscp](https://redirect.github.com/matheuscscp) in [#&#8203;5721](https://redirect.github.com/fluxcd/flux2/pull/5721)\n- Build with Go 1.26 by [@&#8203;stefanprodan](https://redirect.github.com/stefanprodan) in [#&#8203;5723](https://redirect.github.com/fluxcd/flux2/pull/5723)\n- Update toolkit components by [@&#8203;fluxcdbot](https://redirect.github.com/fluxcdbot) in [#&#8203;5722](https://redirect.github.com/fluxcd/flux2/pull/5722)\n- Update helm-controller to v1.5.0 by [@&#8203;fluxcdbot](http\n\n> \u2757 **Important**\n> \n> \u2702 PR body was truncated to here.\n\n\n</details>\n\n---\n\n### Configuration\n\n\ud83d\udcc5 **Schedule**: (UTC)\n\n- Branch creation\n  - At any time (no schedule defined)\n- Automerge\n  - At any time (no schedule defined)\n\n\ud83d\udea6 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.\n\n\u267b **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\ud83d\udd15 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/vexxhost/atmosphere.common).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->\n",
                                            "change_url": "https://github.com/vexxhost/atmosphere.common/pull/102",
                                            "commit_id": "dce2d01c2ffc90fbfdab3f133076f76c67d272b7",
                                            "patchset": "dce2d01c2ffc90fbfdab3f133076f76c67d272b7",
                                            "project": {
                                                "canonical_hostname": "github.com",
                                                "canonical_name": "github.com/vexxhost/atmosphere.common",
                                                "name": "vexxhost/atmosphere.common",
                                                "short_name": "atmosphere.common",
                                                "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                            },
                                            "topic": null
                                        }
                                    ],
                                    "collections_path": "/home/zuul/.ansible/collections",
                                    "executable": "uv",
                                    "project_dir": "src/github.com/vexxhost/atmosphere.common",
                                    "projects": [
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/ansible.posix",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "d5699a3fcfca765b32f94b68a592139dc58d0301",
                                            "name": "ansible-collections/ansible.posix",
                                            "required": true,
                                            "short_name": "ansible.posix",
                                            "src_dir": "src/github.com/ansible-collections/ansible.posix"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.crypto",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "f5e7cf34b47daea77edc92654189c4ef7c0be15b",
                                            "name": "ansible-collections/community.crypto",
                                            "required": true,
                                            "short_name": "community.crypto",
                                            "src_dir": "src/github.com/ansible-collections/community.crypto"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/community.general",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "9d8f2090208f5a1a8d686d5d5a76bbfe20d7286d",
                                            "name": "ansible-collections/community.general",
                                            "required": true,
                                            "short_name": "community.general",
                                            "src_dir": "src/github.com/ansible-collections/community.general"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/ansible-collections/kubernetes.core",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "b7e1ed566173acf05d7a2dfbe7a94fdc2a1e8d97",
                                            "name": "ansible-collections/kubernetes.core",
                                            "required": true,
                                            "short_name": "kubernetes.core",
                                            "src_dir": "src/github.com/ansible-collections/kubernetes.core"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-containers",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "d22923ebd40c0fd5a345318c1db90d125fb5140f",
                                            "name": "vexxhost/ansible-collection-containers",
                                            "required": true,
                                            "short_name": "ansible-collection-containers",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-containers"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/ansible-collection-kubernetes",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "bb3fd0fde58a5b158605523e708645eb2a763886",
                                            "name": "vexxhost/ansible-collection-kubernetes",
                                            "required": true,
                                            "short_name": "ansible-collection-kubernetes",
                                            "src_dir": "src/github.com/vexxhost/ansible-collection-kubernetes"
                                        },
                                        {
                                            "canonical_hostname": "github.com",
                                            "canonical_name": "github.com/vexxhost/atmosphere.common",
                                            "checkout": "main",
                                            "checkout_description": "zuul branch",
                                            "commit": "28a58fdba257990ba0c7eb269efd3d51117b7f27",
                                            "name": "vexxhost/atmosphere.common",
                                            "required": false,
                                            "short_name": "atmosphere.common",
                                            "src_dir": "src/github.com/vexxhost/atmosphere.common"
                                        },
                                        {
                                            "canonical_hostname": "opendev.org",
                                            "canonical_name": "opendev.org/openstack/ansible-collections-openstack",
                                            "checkout": "master",
                                            "checkout_description": "project default branch",
                                            "commit": "da4a211b2d1dd147dead0e3db63a373b43b3c09e",
                                            "name": "openstack/ansible-collections-openstack",
                                            "required": true,
                                            "short_name": "ansible-collections-openstack",
                                            "src_dir": "src/opendev.org/openstack/ansible-collections-openstack"
                                        }
                                    ],
                                    "workspace_dir": "/home/zuul"
                                }
                            },
                            "log": [
                                "Sibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Sibling collection community.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Sibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general",
                                "Sibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Sibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Sibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Sibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Resolved kubernetes.core to 6.6.0 for >=2.4.0",
                                "Resolved openstack.cloud to 2.6.0 for >=2.0.0",
                                "Resolved vexxhost.kubernetes to v3.4.0 for >=2.5.0",
                                "Resolved ansible.posix to 2.2.2 for >=1.6.0",
                                "Resolved community.crypto to 3.4.0 for >=2.2.3",
                                "Resolved community.general to 13.4.0 for >=4.5.0",
                                "Skipping community.library_inventory_filtering_v1: no checked-out sibling",
                                "Resolved kubernetes.core to 6.6.0 for >=2.4.0,>=2.3.2",
                                "Resolved vexxhost.containers to v1.6.8 for >=1.6.0",
                                "Checked out ansible.posix to 2.2.2",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'ansible.posix:2.2.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'",
                                "Created collection for ansible.posix:2.2.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix",
                                "ansible.posix:2.2.2 was installed successfully",
                                "Using CPython 3.12.3 interpreter at: /usr/bin/python3",
                                "Creating virtual environment at: .venv",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Downloading kubernetes (1.9MiB)",
                                "Downloading pydantic-core (2.0MiB)",
                                "Downloading pygments (1.2MiB)",
                                "Downloading cryptography (4.3MiB)",
                                "Downloading ansible-core (2.1MiB)",
                                " Downloading pygments",
                                " Downloading pydantic-core",
                                " Downloading cryptography",
                                " Downloading kubernetes",
                                " Downloading ansible-core",
                                "Installed 52 packages in 66ms",
                                "Checked out community.crypto to 3.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.crypto:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'",
                                "Created collection for community.crypto:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/crypto",
                                "community.crypto:3.4.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out community.general to 13.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'community.general:13.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'",
                                "Created collection for community.general:13.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/general",
                                "community.general:13.4.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out kubernetes.core to 6.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'kubernetes.core:6.6.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'",
                                "Created collection for kubernetes.core:6.6.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core",
                                "kubernetes.core:6.6.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out openstack.cloud to 2.6.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'openstack.cloud:2.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'",
                                "Created collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud",
                                "openstack.cloud:2.6.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.containers to v1.6.8",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.containers:1.6.8' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'",
                                "Created collection for vexxhost.containers:1.6.8 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers",
                                "vexxhost.containers:1.6.8 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "Checked out vexxhost.kubernetes to v3.4.0",
                                "Running: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes",
                                "Starting galaxy collection install process",
                                "Process install dependency map",
                                "Starting collection install process",
                                "Installing 'vexxhost.kubernetes:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'",
                                "Created collection for vexxhost.kubernetes:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes",
                                "vexxhost.kubernetes:3.4.0 was installed successfully",
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                            ],
                            "msg": "Sibling collection ansible.posix at /home/zuul/src/github.com/ansible-collections/ansible.posix\nSibling collection community.crypto at /home/zuul/src/github.com/ansible-collections/community.crypto\nSibling collection community.general at /home/zuul/src/github.com/ansible-collections/community.general\nSibling collection kubernetes.core at /home/zuul/src/github.com/ansible-collections/kubernetes.core\nSibling collection vexxhost.containers at /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nSibling collection vexxhost.kubernetes at /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nSibling collection openstack.cloud at /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nResolved kubernetes.core to 6.6.0 for >=2.4.0\nResolved openstack.cloud to 2.6.0 for >=2.0.0\nResolved vexxhost.kubernetes to v3.4.0 for >=2.5.0\nResolved ansible.posix to 2.2.2 for >=1.6.0\nResolved community.crypto to 3.4.0 for >=2.2.3\nResolved community.general to 13.4.0 for >=4.5.0\nSkipping community.library_inventory_filtering_v1: no checked-out sibling\nResolved kubernetes.core to 6.6.0 for >=2.4.0,>=2.3.2\nResolved vexxhost.containers to v1.6.8 for >=1.6.0\nChecked out ansible.posix to 2.2.2\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/ansible.posix\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'ansible.posix:2.2.2' to '/home/zuul/.ansible/collections/ansible_collections/ansible/posix'\nCreated collection for ansible.posix:2.2.2 at /home/zuul/.ansible/collections/ansible_collections/ansible/posix\nansible.posix:2.2.2 was installed successfully\nUsing CPython 3.12.3 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nDownloading kubernetes (1.9MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading pygments (1.2MiB)\nDownloading cryptography (4.3MiB)\nDownloading ansible-core (2.1MiB)\n Downloading pygments\n Downloading pydantic-core\n Downloading cryptography\n Downloading kubernetes\n Downloading ansible-core\nInstalled 52 packages in 66ms\nChecked out community.crypto to 3.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.crypto\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.crypto:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/crypto'\nCreated collection for community.crypto:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/crypto\ncommunity.crypto:3.4.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out community.general to 13.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/community.general\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'community.general:13.4.0' to '/home/zuul/.ansible/collections/ansible_collections/community/general'\nCreated collection for community.general:13.4.0 at /home/zuul/.ansible/collections/ansible_collections/community/general\ncommunity.general:13.4.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out kubernetes.core to 6.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/ansible-collections/kubernetes.core\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'kubernetes.core:6.6.0' to '/home/zuul/.ansible/collections/ansible_collections/kubernetes/core'\nCreated collection for kubernetes.core:6.6.0 at /home/zuul/.ansible/collections/ansible_collections/kubernetes/core\nkubernetes.core:6.6.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out openstack.cloud to 2.6.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/opendev.org/openstack/ansible-collections-openstack\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'openstack.cloud:2.6.0' to '/home/zuul/.ansible/collections/ansible_collections/openstack/cloud'\nCreated collection for openstack.cloud:2.6.0 at /home/zuul/.ansible/collections/ansible_collections/openstack/cloud\nopenstack.cloud:2.6.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.containers to v1.6.8\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-containers\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.containers:1.6.8' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers'\nCreated collection for vexxhost.containers:1.6.8 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/containers\nvexxhost.containers:1.6.8 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nChecked out vexxhost.kubernetes to v3.4.0\nRunning: uv run ansible-galaxy collection install --force --no-deps --collections-path /home/zuul/.ansible/collections /home/zuul/src/github.com/vexxhost/ansible-collection-kubernetes\nStarting galaxy collection install process\nProcess install dependency map\nStarting collection install process\nInstalling 'vexxhost.kubernetes:3.4.0' to '/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes'\nCreated collection for vexxhost.kubernetes:3.4.0 at /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes\nvexxhost.kubernetes:3.4.0 was installed successfully\nwarning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`."
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:18.629446Z",
                            "start": "2026-09-25T02:18:06.562223Z"
                        },
                        "id": "0242ac17-0010-38b4-1b9d-00000000000a",
                        "name": "Install Ansible collection siblings"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 3,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "2",
    "phase": "pre",
    "playbook": "github.com/vexxhost/atmosphere.common/test-playbooks/molecule/pre.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:18:32.409448Z",
                    "start": "2026-09-25T02:18:19.351376Z"
                },
                "id": "0242ac17-0010-a7c7-a8fa-000000000002",
                "name": "Prepare Molecule log collection"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.apt",
                            "cache_update_time": 1790302703,
                            "cache_updated": true,
                            "changed": true,
                            "diff": {},
                            "invocation": {
                                "module_args": {
                                    "allow_change_held_packages": false,
                                    "allow_downgrade": false,
                                    "allow_unauthenticated": false,
                                    "autoclean": false,
                                    "autoremove": false,
                                    "cache_valid_time": 0,
                                    "clean": false,
                                    "deb": null,
                                    "default_release": null,
                                    "dpkg_options": "force-confdef,force-confold",
                                    "fail_on_autoremove": false,
                                    "force": false,
                                    "force_apt_get": false,
                                    "install_recommends": null,
                                    "lock_timeout": 60,
                                    "name": "jq",
                                    "only_upgrade": false,
                                    "package": [
                                        "jq"
                                    ],
                                    "policy_rc_d": null,
                                    "purge": false,
                                    "state": "present",
                                    "update_cache": true,
                                    "update_cache_retries": 5,
                                    "update_cache_retry_max_delay": 12,
                                    "upgrade": null
                                }
                            },
                            "stderr": "debconf: delaying package configuration, since apt-utils is not installed\n",
                            "stderr_lines": [
                                "debconf: delaying package configuration, since apt-utils is not installed"
                            ],
                            "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following additional packages will be installed:\n  libjq1 libonig5\nThe following NEW packages will be installed:\n  jq libjq1 libonig5\n0 upgraded, 3 newly installed, 0 to remove and 5 not upgraded.\nNeed to get 380 kB of archives.\nAfter this operation, 1127 kB of additional disk space will be used.\nGet:1 http://yul2.clouds.archive.ubuntu.com/ubuntu noble/main amd64 libonig5 amd64 6.9.9-1build1 [172 kB]\nGet:2 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 libjq1 amd64 1.7.1-3ubuntu0.24.04.2 [142 kB]\nGet:3 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 jq amd64 1.7.1-3ubuntu0.24.04.2 [65.7 kB]\nFetched 380 kB in 1s (425 kB/s)\nSelecting previously unselected package libonig5:amd64.\r\n(Reading database ... \r(Reading database ... 5%\r(Reading database ... 10%\r(Reading database ... 15%\r(Reading database ... 20%\r(Reading database ... 25%\r(Reading database ... 30%\r(Reading database ... 35%\r(Reading database ... 40%\r(Reading database ... 45%\r(Reading database ... 50%\r(Reading database ... 55%\r(Reading database ... 60%\r(Reading database ... 65%\r(Reading database ... 70%\r(Reading database ... 75%\r(Reading database ... 80%\r(Reading database ... 85%\r(Reading database ... 90%\r(Reading database ... 95%\r(Reading database ... 100%\r(Reading database ... 31212 files and directories currently installed.)\r\nPreparing to unpack .../libonig5_6.9.9-1build1_amd64.deb ...\r\nUnpacking libonig5:amd64 (6.9.9-1build1) ...\r\nSelecting previously unselected package libjq1:amd64.\r\nPreparing to unpack .../libjq1_1.7.1-3ubuntu0.24.04.2_amd64.deb ...\r\nUnpacking libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...\r\nSelecting previously unselected package jq.\r\nPreparing to unpack .../jq_1.7.1-3ubuntu0.24.04.2_amd64.deb ...\r\nUnpacking jq (1.7.1-3ubuntu0.24.04.2) ...\r\nSetting up libonig5:amd64 (6.9.9-1build1) ...\r\nSetting up libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...\r\nSetting up jq (1.7.1-3ubuntu0.24.04.2) ...\r\nProcessing triggers for libc-bin (2.39-0ubuntu8.9) ...\r\n",
                            "stdout_lines": [
                                "Reading package lists...",
                                "Building dependency tree...",
                                "Reading state information...",
                                "The following additional packages will be installed:",
                                "  libjq1 libonig5",
                                "The following NEW packages will be installed:",
                                "  jq libjq1 libonig5",
                                "0 upgraded, 3 newly installed, 0 to remove and 5 not upgraded.",
                                "Need to get 380 kB of archives.",
                                "After this operation, 1127 kB of additional disk space will be used.",
                                "Get:1 http://yul2.clouds.archive.ubuntu.com/ubuntu noble/main amd64 libonig5 amd64 6.9.9-1build1 [172 kB]",
                                "Get:2 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 libjq1 amd64 1.7.1-3ubuntu0.24.04.2 [142 kB]",
                                "Get:3 http://yul2.clouds.archive.ubuntu.com/ubuntu noble-updates/main amd64 jq amd64 1.7.1-3ubuntu0.24.04.2 [65.7 kB]",
                                "Fetched 380 kB in 1s (425 kB/s)",
                                "Selecting previously unselected package libonig5:amd64.",
                                "(Reading database ... ",
                                "(Reading database ... 5%",
                                "(Reading database ... 10%",
                                "(Reading database ... 15%",
                                "(Reading database ... 20%",
                                "(Reading database ... 25%",
                                "(Reading database ... 30%",
                                "(Reading database ... 35%",
                                "(Reading database ... 40%",
                                "(Reading database ... 45%",
                                "(Reading database ... 50%",
                                "(Reading database ... 55%",
                                "(Reading database ... 60%",
                                "(Reading database ... 65%",
                                "(Reading database ... 70%",
                                "(Reading database ... 75%",
                                "(Reading database ... 80%",
                                "(Reading database ... 85%",
                                "(Reading database ... 90%",
                                "(Reading database ... 95%",
                                "(Reading database ... 100%",
                                "(Reading database ... 31212 files and directories currently installed.)",
                                "Preparing to unpack .../libonig5_6.9.9-1build1_amd64.deb ...",
                                "Unpacking libonig5:amd64 (6.9.9-1build1) ...",
                                "Selecting previously unselected package libjq1:amd64.",
                                "Preparing to unpack .../libjq1_1.7.1-3ubuntu0.24.04.2_amd64.deb ...",
                                "Unpacking libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...",
                                "Selecting previously unselected package jq.",
                                "Preparing to unpack .../jq_1.7.1-3ubuntu0.24.04.2_amd64.deb ...",
                                "Unpacking jq (1.7.1-3ubuntu0.24.04.2) ...",
                                "Setting up libonig5:amd64 (6.9.9-1build1) ...",
                                "Setting up libjq1:amd64 (1.7.1-3ubuntu0.24.04.2) ...",
                                "Setting up jq (1.7.1-3ubuntu0.24.04.2) ...",
                                "Processing triggers for libc-bin (2.39-0ubuntu8.9) ..."
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:32.409448Z",
                            "start": "2026-09-25T02:18:19.361859Z"
                        },
                        "id": "0242ac17-0010-a7c7-a8fa-000000000004",
                        "name": "Install jq for log collection"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 1,
            "failures": 0,
            "ignored": 0,
            "ok": 1,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "run",
    "playbook": "github.com/vexxhost/zuul-jobs/playbooks/molecule/run.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:22:41.746993Z",
                    "start": "2026-09-25T02:18:33.113981Z"
                },
                "id": "0242ac17-0010-c266-bbcb-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.stat",
                            "changed": false,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere.common"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere.common",
                                    "stat": {
                                        "atime": 1790302680.623019,
                                        "attr_flags": "e",
                                        "attributes": [
                                            "extents"
                                        ],
                                        "block_size": 4096,
                                        "blocks": 8,
                                        "charset": "unknown",
                                        "ctime": 1790302687.367138,
                                        "dev": 64769,
                                        "device_type": 0,
                                        "executable": true,
                                        "exists": true,
                                        "gid": 1000,
                                        "gr_name": "zuul",
                                        "inode": 1038682,
                                        "isblk": false,
                                        "ischr": false,
                                        "isdir": true,
                                        "isfifo": false,
                                        "isgid": false,
                                        "islnk": false,
                                        "isreg": false,
                                        "issock": false,
                                        "isuid": false,
                                        "mimetype": "unknown",
                                        "mode": "0755",
                                        "mtime": 1790302687.367138,
                                        "nlink": 11,
                                        "path": "src/github.com/vexxhost/atmosphere.common",
                                        "pw_name": "zuul",
                                        "readable": true,
                                        "rgrp": true,
                                        "roth": true,
                                        "rusr": true,
                                        "size": 4096,
                                        "uid": 1000,
                                        "version": "2054957900",
                                        "wgrp": false,
                                        "woth": false,
                                        "writeable": true,
                                        "wusr": true,
                                        "xgrp": true,
                                        "xoth": true,
                                        "xusr": true
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "checksum_algorithm": "sha1",
                                            "follow": true,
                                            "get_attributes": true,
                                            "get_checksum": true,
                                            "get_mime": true,
                                            "path": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory"
                                        }
                                    },
                                    "item": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory",
                                    "stat": {
                                        "exists": false
                                    }
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:34.014182Z",
                            "start": "2026-09-25T02:18:33.123792Z"
                        },
                        "id": "0242ac17-0010-c266-bbcb-000000000004",
                        "name": "Check inventory directories"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.copy",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "checksum": "8dd9bf58a2f882293138c27c8d56223726333d38",
                                    "dest": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                                    "diff": [],
                                    "failed": false,
                                    "gid": 1000,
                                    "group": "zuul",
                                    "invocation": {
                                        "module_args": {
                                            "_original_basename": "inventory.yaml",
                                            "attributes": null,
                                            "backup": false,
                                            "checksum": "8dd9bf58a2f882293138c27c8d56223726333d38",
                                            "content": null,
                                            "dest": "src/github.com/vexxhost/atmosphere.common",
                                            "directory_mode": null,
                                            "follow": false,
                                            "force": true,
                                            "group": null,
                                            "local_follow": null,
                                            "mode": "0644",
                                            "owner": null,
                                            "remote_src": null,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302714.1070566-9-98270347859516/source",
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common",
                                        "stat": {
                                            "atime": 1790302680.623019,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1790302687.367138,
                                            "dev": 64769,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1038682,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1790302687.367138,
                                            "nlink": 11,
                                            "path": "src/github.com/vexxhost/atmosphere.common",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2054957900",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "md5sum": "1c65e30c27fdba4c24fc328ad54692aa",
                                    "mode": "0644",
                                    "owner": "zuul",
                                    "size": 356847,
                                    "src": "/home/zuul/.ansible/tmp/ansible-tmp-1790302714.1070566-9-98270347859516/source",
                                    "state": "file",
                                    "uid": 1000
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:35.076885Z",
                            "start": "2026-09-25T02:18:34.021435Z"
                        },
                        "id": "0242ac17-0010-c266-bbcb-000000000005",
                        "name": "Copy inventory file for Zuul"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.replace",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "item",
                                    "changed": true,
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "after": null,
                                            "attributes": null,
                                            "backup": false,
                                            "before": null,
                                            "encoding": "utf-8",
                                            "group": null,
                                            "mode": null,
                                            "owner": null,
                                            "path": "src/github.com/vexxhost/atmosphere.common/inventory.yaml",
                                            "regexp": "(^\\s*ansible_host:\\s*).*$",
                                            "replace": "\\1\"{{ nodepool.private_ipv4 }}\"",
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "unsafe_writes": false,
                                            "validate": null
                                        }
                                    },
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common",
                                        "stat": {
                                            "atime": 1790302680.623019,
                                            "attr_flags": "e",
                                            "attributes": [
                                                "extents"
                                            ],
                                            "block_size": 4096,
                                            "blocks": 8,
                                            "charset": "unknown",
                                            "ctime": 1790302687.367138,
                                            "dev": 64769,
                                            "device_type": 0,
                                            "executable": true,
                                            "exists": true,
                                            "gid": 1000,
                                            "gr_name": "zuul",
                                            "inode": 1038682,
                                            "isblk": false,
                                            "ischr": false,
                                            "isdir": true,
                                            "isfifo": false,
                                            "isgid": false,
                                            "islnk": false,
                                            "isreg": false,
                                            "issock": false,
                                            "isuid": false,
                                            "mimetype": "unknown",
                                            "mode": "0755",
                                            "mtime": 1790302687.367138,
                                            "nlink": 11,
                                            "path": "src/github.com/vexxhost/atmosphere.common",
                                            "pw_name": "zuul",
                                            "readable": true,
                                            "rgrp": true,
                                            "roth": true,
                                            "rusr": true,
                                            "size": 4096,
                                            "uid": 1000,
                                            "version": "2054957900",
                                            "wgrp": false,
                                            "woth": false,
                                            "writeable": true,
                                            "wusr": true,
                                            "xgrp": true,
                                            "xoth": true,
                                            "xusr": true
                                        }
                                    },
                                    "msg": "1 replacements made",
                                    "rc": 0
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                },
                                {
                                    "ansible_loop_var": "item",
                                    "changed": false,
                                    "false_condition": "item.stat.isdir | default(false)",
                                    "item": {
                                        "ansible_loop_var": "item",
                                        "changed": false,
                                        "failed": false,
                                        "invocation": {
                                            "module_args": {
                                                "checksum_algorithm": "sha1",
                                                "follow": true,
                                                "get_attributes": true,
                                                "get_checksum": true,
                                                "get_mime": true,
                                                "path": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory"
                                            }
                                        },
                                        "item": "src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/inventory",
                                        "stat": {
                                            "exists": false
                                        }
                                    },
                                    "skip_reason": "Conditional result was False",
                                    "skipped": true
                                }
                            ]
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:18:35.528546Z",
                            "start": "2026-09-25T02:18:35.087303Z"
                        },
                        "id": "0242ac17-0010-c266-bbcb-000000000006",
                        "name": "Switch \"ansible_host\" to private IP"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "ansible.builtin.command",
                            "changed": true,
                            "cmd": [
                                "uv",
                                "run",
                                "molecule",
                                "test",
                                "--destroy",
                                "never",
                                "-s",
                                "secretgen-controller"
                            ],
                            "delta": "0:04:05.439831",
                            "end": "2026-09-25 02:22:41.404011",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "uv run molecule test --destroy never -s secretgen-controller",
                                    "_uses_shell": false,
                                    "argv": null,
                                    "chdir": "src/github.com/vexxhost/atmosphere.common",
                                    "creates": null,
                                    "executable": null,
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-c266-bbcb-000000000007-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:18:35.964180",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.\nINFO     Collection 'atmosphere.common' detected.\nINFO     Scenarios will be used from 'extensions/molecule'\nINFO     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy\nINFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...\nINFO     [secretgen-controller > dependency] Executing\nWARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml\nWARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml\nWARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nINFO     [secretgen-controller > syntax] Executing\n\nplaybook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml\nINFO     [secretgen-controller > syntax] Executed: Successful\nINFO     [secretgen-controller > create] Executing\nWARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > prepare] Executing\n\nPLAY [Prepare] *****************************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:19:01 +0000 (0:00:00.032)       0:00:00.032 ******\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Install Debian packages] *************************************************\nFriday 25 September 2026  02:19:03 +0000 (0:00:01.502)       0:00:01.535 ******\nok: [controller]\n\nPLAY [Configure Kubernetes VIP] ************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:19:06 +0000 (0:00:03.097)       0:00:04.633 ******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***\nFriday 25 September 2026  02:19:07 +0000 (0:00:00.906)       0:00:05.539 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************\nFriday 25 September 2026  02:19:07 +0000 (0:00:00.374)       0:00:05.913 ******\nok: [controller] => (item=/etc/keepalived/keepalived.conf)\nok: [controller] => (item=/etc/keepalived/check_apiserver.sh)\nok: [controller] => (item=/etc/kubernetes/manifests/keepalived.yaml)\nok: [controller] => (item=/etc/haproxy/haproxy.cfg)\nok: [controller] => (item=/etc/kubernetes/manifests/haproxy.yaml)\n\nTASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****\nFriday 25 September 2026  02:19:09 +0000 (0:00:01.292)       0:00:07.205 ******\nfailed: [controller] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}\nfailed: [controller] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}\nfailed: [controller] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}\n...ignoring\n\nTASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********\nFriday 25 September 2026  02:19:09 +0000 (0:00:00.827)       0:00:08.033 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********\nFriday 25 September 2026  02:19:10 +0000 (0:00:00.418)       0:00:08.452 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************\nFriday 25 September 2026  02:19:10 +0000 (0:00:00.275)       0:00:08.727 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***\nFriday 25 September 2026  02:19:10 +0000 (0:00:00.042)       0:00:08.769 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************\nFriday 25 September 2026  02:19:10 +0000 (0:00:00.055)       0:00:08.824 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******\nFriday 25 September 2026  02:19:11 +0000 (0:00:00.935)       0:00:09.760 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************\nFriday 25 September 2026  02:19:11 +0000 (0:00:00.295)       0:00:10.055 ******\n\nPLAY [Install Kubernetes] ******************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:19:12 +0000 (0:00:00.070)       0:00:10.126 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:19:13 +0000 (0:00:01.899)       0:00:12.026 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 25 September 2026  02:19:14 +0000 (0:00:00.320)       0:00:12.346 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 25 September 2026  02:19:14 +0000 (0:00:00.056)       0:00:12.403 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:19:14 +0000 (0:00:00.302)       0:00:12.706 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:19:14 +0000 (0:00:00.087)       0:00:12.793 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:19:15 +0000 (0:00:00.983)       0:00:13.777 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:19:15 +0000 (0:00:00.044)       0:00:13.821 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 25 September 2026  02:19:16 +0000 (0:00:00.310)       0:00:14.132 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:19:17 +0000 (0:00:01.096)       0:00:15.228 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:19:17 +0000 (0:00:00.131)       0:00:15.360 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:19:18 +0000 (0:00:01.117)       0:00:16.477 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 25 September 2026  02:19:22 +0000 (0:00:04.205)       0:00:20.683 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 25 September 2026  02:19:22 +0000 (0:00:00.033)       0:00:20.716 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 25 September 2026  02:19:22 +0000 (0:00:00.062)       0:00:20.779 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 25 September 2026  02:19:22 +0000 (0:00:00.034)       0:00:20.814 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 25 September 2026  02:19:30 +0000 (0:00:08.100)       0:00:28.914 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 25 September 2026  02:19:31 +0000 (0:00:00.675)       0:00:29.589 ******\nchanged: [controller] => (item={'path': '/etc/containerd'})\nchanged: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nchanged: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})\nchanged: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nchanged: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nFriday 25 September 2026  02:19:32 +0000 (0:00:01.221)       0:00:30.811 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 25 September 2026  02:19:33 +0000 (0:00:00.813)       0:00:31.625 ******\n\nRUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********\nFriday 25 September 2026  02:19:33 +0000 (0:00:00.013)       0:00:31.638 ******\nchanged: [controller]\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 25 September 2026  02:19:34 +0000 (0:00:01.047)       0:00:32.686 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 25 September 2026  02:19:35 +0000 (0:00:00.922)       0:00:33.608 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***\nFriday 25 September 2026  02:19:36 +0000 (0:00:00.752)       0:00:34.360 ******\nfatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000193942's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}\n...ignoring\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***\nFriday 25 September 2026  02:19:36 +0000 (0:00:00.673)       0:00:35.034 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***\nFriday 25 September 2026  02:19:37 +0000 (0:00:00.054)       0:00:35.088 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***\nFriday 25 September 2026  02:19:37 +0000 (0:00:00.049)       0:00:35.138 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***\nFriday 25 September 2026  02:19:37 +0000 (0:00:00.055)       0:00:35.193 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***\nFriday 25 September 2026  02:19:37 +0000 (0:00:00.049)       0:00:35.242 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:19:37 +0000 (0:00:00.061)       0:00:35.303 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:19:37 +0000 (0:00:00.284)       0:00:35.588 ******\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:19:37 +0000 (0:00:00.061)       0:00:35.650 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:19:43 +0000 (0:00:05.886)       0:00:41.536 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:19:43 +0000 (0:00:00.057)       0:00:41.594 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:19:43 +0000 (0:00:00.305)       0:00:41.899 ******\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:19:43 +0000 (0:00:00.049)       0:00:41.948 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:19:49 +0000 (0:00:05.341)       0:00:47.289 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install SELinux packages] ***************\nFriday 25 September 2026  02:19:49 +0000 (0:00:00.068)       0:00:47.358 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***\nFriday 25 September 2026  02:19:49 +0000 (0:00:00.040)       0:00:47.398 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********\nFriday 25 September 2026  02:19:49 +0000 (0:00:00.035)       0:00:47.434 ******\nskipping: [controller]\n\nTASK [vexxhost.containers.containerd : Install AppArmor packages] **************\nFriday 25 September 2026  02:19:49 +0000 (0:00:00.043)       0:00:47.477 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***\nFriday 25 September 2026  02:19:50 +0000 (0:00:01.045)       0:00:48.523 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Create folders for configuration] *******\nFriday 25 September 2026  02:19:51 +0000 (0:00:00.608)       0:00:49.132 ******\nok: [controller] => (item={'path': '/etc/containerd'})\nok: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})\nok: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})\nok: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})\nok: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})\n\nTASK [vexxhost.containers.containerd : Create containerd config file] **********\nFriday 25 September 2026  02:19:52 +0000 (0:00:01.302)       0:00:50.434 ******\nok: [controller]\n\nTASK [vexxhost.containers.containerd : Force any restarts if necessary] ********\nFriday 25 September 2026  02:19:53 +0000 (0:00:00.740)       0:00:51.174 ******\n\nTASK [vexxhost.containers.containerd : Enable and start service] ***************\nFriday 25 September 2026  02:19:53 +0000 (0:00:00.009)       0:00:51.183 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:19:53 +0000 (0:00:00.500)       0:00:51.684 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:19:53 +0000 (0:00:00.289)       0:00:51.974 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/crictl-v1.36.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:19:53 +0000 (0:00:00.077)       0:00:52.051 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:19:54 +0000 (0:00:00.829)       0:00:52.881 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:19:56 +0000 (0:00:01.759)       0:00:54.640 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/critest-v1.36.0-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:19:56 +0000 (0:00:00.082)       0:00:54.723 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:19:57 +0000 (0:00:00.871)       0:00:55.594 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cri_tools : Create crictl config] ********************\nFriday 25 September 2026  02:19:59 +0000 (0:00:01.704)       0:00:57.298 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********\nFriday 25 September 2026  02:19:59 +0000 (0:00:00.686)       0:00:57.985 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:00 +0000 (0:00:00.300)       0:00:58.285 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:00 +0000 (0:00:00.276)       0:00:58.561 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:20:00 +0000 (0:00:00.090)       0:00:58.652 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:01 +0000 (0:00:01.210)       0:00:59.862 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***\nFriday 25 September 2026  02:20:04 +0000 (0:00:02.969)       0:01:02.831 ******\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)\n\nTASK [vexxhost.containers.cni_plugins : Install additional packages] ***********\nFriday 25 September 2026  02:20:04 +0000 (0:00:00.066)       0:01:02.898 ******\nok: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************\nFriday 25 September 2026  02:20:06 +0000 (0:00:01.266)       0:01:04.164 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********\nFriday 25 September 2026  02:20:06 +0000 (0:00:00.402)       0:01:04.567 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******\nFriday 25 September 2026  02:20:07 +0000 (0:00:00.702)       0:01:05.269 ******\nchanged: [controller] => (item=br_netfilter)\nok: [controller] => (item=ip_tables)\nchanged: [controller] => (item=ip6_tables)\nchanged: [controller] => (item=nf_conntrack)\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:20:08 +0000 (0:00:01.248)       0:01:06.518 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:20:08 +0000 (0:00:00.285)       0:01:06.803 ******\nok: [controller] => {\n    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:20:08 +0000 (0:00:00.063)       0:01:06.867 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:20:19 +0000 (0:00:10.665)       0:01:17.532 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***\nFriday 25 September 2026  02:20:19 +0000 (0:00:00.053)       0:01:17.586 ******\nok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)\n\nTASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************\nFriday 25 September 2026  02:20:19 +0000 (0:00:00.077)       0:01:17.663 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************\nFriday 25 September 2026  02:20:19 +0000 (0:00:00.041)       0:01:17.705 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************\nFriday 25 September 2026  02:20:23 +0000 (0:00:03.490)       0:01:21.196 ******\nchanged: [controller] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})\nchanged: [controller] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})\nchanged: [controller] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})\nchanged: [controller] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})\nchanged: [controller] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})\nchanged: [controller] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})\nchanged: [controller] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})\n\nTASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***\nFriday 25 September 2026  02:20:24 +0000 (0:00:01.852)       0:01:23.048 ******\nchanged: [controller] => (item=/etc/systemd/system/kubelet.service.d)\nok: [controller] => (item=/etc/kubernetes)\nok: [controller] => (item=/etc/kubernetes/manifests)\n\nTASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********\nFriday 25 September 2026  02:20:25 +0000 (0:00:00.802)       0:01:23.850 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***\nFriday 25 September 2026  02:20:26 +0000 (0:00:00.636)       0:01:24.487 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Check swap status] *************************\nFriday 25 September 2026  02:20:27 +0000 (0:00:00.618)       0:01:25.106 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************\nFriday 25 September 2026  02:20:27 +0000 (0:00:00.391)       0:01:25.497 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********\nFriday 25 September 2026  02:20:27 +0000 (0:00:00.034)       0:01:25.531 ******\nok: [controller] => (item=swap)\nok: [controller] => (item=none)\n\nTASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***\nFriday 25 September 2026  02:20:28 +0000 (0:00:00.613)       0:01:26.144 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************\nFriday 25 September 2026  02:20:28 +0000 (0:00:00.647)       0:01:26.792 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********\nFriday 25 September 2026  02:20:29 +0000 (0:00:00.771)       0:01:27.564 ******\n\nRUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************\nFriday 25 September 2026  02:20:29 +0000 (0:00:00.008)       0:01:27.572 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********\nFriday 25 September 2026  02:20:30 +0000 (0:00:00.884)       0:01:28.457 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****\nFriday 25 September 2026  02:20:31 +0000 (0:00:00.808)       0:01:29.265 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************\nFriday 25 September 2026  02:20:32 +0000 (0:00:01.175)       0:01:30.441 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********\nFriday 25 September 2026  02:20:33 +0000 (0:00:00.959)       0:01:31.401 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********\nFriday 25 September 2026  02:20:33 +0000 (0:00:00.404)       0:01:31.805 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.544)       0:01:32.350 ******\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.073)       0:01:32.424 ******\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for controller\n\nTASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.062)       0:01:32.486 ******\nok: [controller] => (item=controller)\n\nTASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.320)       0:01:32.807 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.058)       0:01:32.866 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.059)       0:01:32.925 ******\nok: [controller] => {\n    \"msg\": \"controller\"\n}\n\nTASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***\nFriday 25 September 2026  02:20:34 +0000 (0:00:00.054)       0:01:32.980 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.674)       0:01:33.654 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.043)       0:01:33.698 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.045)       0:01:33.743 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.042)       0:01:33.786 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.044)       0:01:33.830 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.043)       0:01:33.874 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.044)       0:01:33.918 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************\nFriday 25 September 2026  02:20:35 +0000 (0:00:00.045)       0:01:33.964 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***\nFriday 25 September 2026  02:21:09 +0000 (0:00:33.640)       0:02:07.604 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************\nFriday 25 September 2026  02:21:09 +0000 (0:00:00.265)       0:02:07.870 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***\nFriday 25 September 2026  02:21:09 +0000 (0:00:00.026)       0:02:07.896 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***\nFriday 25 September 2026  02:21:10 +0000 (0:00:00.244)       0:02:08.141 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******\nFriday 25 September 2026  02:21:10 +0000 (0:00:00.262)       0:02:08.404 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************\nFriday 25 September 2026  02:21:10 +0000 (0:00:00.270)       0:02:08.674 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***\nFriday 25 September 2026  02:21:10 +0000 (0:00:00.039)       0:02:08.713 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************\nFriday 25 September 2026  02:21:10 +0000 (0:00:00.042)       0:02:08.755 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***\nFriday 25 September 2026  02:21:10 +0000 (0:00:00.042)       0:02:08.798 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***\nFriday 25 September 2026  02:21:19 +0000 (0:00:08.981)       0:02:17.780 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************\nFriday 25 September 2026  02:21:20 +0000 (0:00:01.002)       0:02:18.782 ******\nskipping: [controller] => (item=DaemonSet)\nskipping: [controller] => (item=ConfigMap)\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************\nFriday 25 September 2026  02:21:20 +0000 (0:00:00.058)       0:02:18.841 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***\nFriday 25 September 2026  02:21:20 +0000 (0:00:00.041)       0:02:18.882 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***\nFriday 25 September 2026  02:21:20 +0000 (0:00:00.037)       0:02:18.920 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************\nFriday 25 September 2026  02:21:20 +0000 (0:00:00.042)       0:02:18.962 ******\nskipping: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***\nFriday 25 September 2026  02:21:20 +0000 (0:00:00.039)       0:02:19.002 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***\nFriday 25 September 2026  02:21:21 +0000 (0:00:00.533)       0:02:19.536 ******\nchanged: [controller]\n\nPLAY [Install control-plane components] ****************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:21:22 +0000 (0:00:01.038)       0:02:20.574 ******\nok: [controller]\n\nTASK [vexxhost.containers.forget_package : Forget package] *********************\nFriday 25 September 2026  02:21:24 +0000 (0:00:01.940)       0:02:22.515 ******\nok: [controller]\n\nTASK [vexxhost.containers.package : Update state for tar] **********************\nFriday 25 September 2026  02:21:24 +0000 (0:00:00.317)       0:02:22.833 ******\nok: [controller]\n\nTASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***\nFriday 25 September 2026  02:21:26 +0000 (0:00:01.503)       0:02:24.336 ******\nok: [controller]\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:21:26 +0000 (0:00:00.306)       0:02:24.643 ******\nok: [controller] => {\n    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:21:26 +0000 (0:00:00.058)       0:02:24.701 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:21:37 +0000 (0:00:10.729)       0:02:35.431 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************\nFriday 25 September 2026  02:21:40 +0000 (0:00:02.756)       0:02:38.187 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************\nFriday 25 September 2026  02:21:40 +0000 (0:00:00.409)       0:02:38.596 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************\nFriday 25 September 2026  02:21:40 +0000 (0:00:00.269)       0:02:38.866 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***\nFriday 25 September 2026  02:21:41 +0000 (0:00:00.347)       0:02:39.214 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***\nFriday 25 September 2026  02:21:41 +0000 (0:00:00.315)       0:02:39.530 ******\nok: [controller]\n\nTASK [Install plugin] **********************************************************\nFriday 25 September 2026  02:21:41 +0000 (0:00:00.280)       0:02:39.810 ******\nincluded: vexxhost.containers.download_artifact for controller\n\nTASK [vexxhost.containers.download_artifact : Starting download of file] *******\nFriday 25 September 2026  02:21:41 +0000 (0:00:00.035)       0:02:39.845 ******\nok: [controller] => {\n    \"msg\": \"https://github.com/databus23/helm-diff/releases/download/v3.8.1/helm-diff-linux-amd64.tgz\"\n}\n\nTASK [vexxhost.containers.download_artifact : Download item] *******************\nFriday 25 September 2026  02:21:41 +0000 (0:00:00.043)       0:02:39.889 ******\nchanged: [controller]\n\nTASK [vexxhost.containers.download_artifact : Extract archive] *****************\nFriday 25 September 2026  02:21:42 +0000 (0:00:00.839)       0:02:40.728 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 25 September 2026  02:21:45 +0000 (0:00:03.094)       0:02:43.822 ******\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nFriday 25 September 2026  02:21:45 +0000 (0:00:00.044)       0:02:43.867 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************\nFriday 25 September 2026  02:21:46 +0000 (0:00:00.761)       0:02:44.628 ******\nok: [controller]\n\nTASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************\nFriday 25 September 2026  02:21:47 +0000 (0:00:00.845)       0:02:45.473 ******\n[DEPRECATION WARNING]: The 'status.values' return value is deprecated and will\nbe removed in version 8.0.0. Use 'status.release_values' instead. This feature\nwill be removed from kubernetes.core in version 8.0.0. Deprecation warnings can\n be disabled by setting deprecation_warnings=False in ansible.cfg.\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***\nFriday 25 September 2026  02:21:49 +0000 (0:00:02.297)       0:02:47.771 ******\nincluded: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller\n\nTASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************\nFriday 25 September 2026  02:21:49 +0000 (0:00:00.029)       0:02:47.801 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************\nFriday 25 September 2026  02:21:50 +0000 (0:00:00.636)       0:02:48.437 ******\nchanged: [controller]\n\nTASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************\nFriday 25 September 2026  02:22:29 +0000 (0:00:38.651)       0:03:27.088 ******\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=117  changed=54   unreachable=0    failed=0    skipped=35   rescued=0    ignored=2\n\n\nTASKS RECAP ********************************************************************\nFriday 25 September 2026  02:22:29 +0000 (0:00:00.768)       0:03:27.856 ******\n===============================================================================\nvexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 38.65s\nvexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 33.64s\nvexxhost.containers.download_artifact : Download item ------------------ 10.73s\nvexxhost.containers.download_artifact : Download item ------------------ 10.66s\nvexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 8.98s\nvexxhost.containers.containerd : Install AppArmor packages -------------- 8.10s\nvexxhost.containers.download_artifact : Download item ------------------- 5.89s\nvexxhost.containers.download_artifact : Download item ------------------- 5.34s\nvexxhost.containers.download_artifact : Extract archive ----------------- 4.21s\nvexxhost.kubernetes.kubelet : Install additional packages --------------- 3.49s\nInstall Debian packages ------------------------------------------------- 3.10s\nvexxhost.containers.download_artifact : Extract archive ----------------- 3.09s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.97s\nvexxhost.containers.download_artifact : Extract archive ----------------- 2.76s\nvexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.30s\nGathering Facts --------------------------------------------------------- 1.94s\nGathering Facts --------------------------------------------------------- 1.90s\nvexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.85s\nvexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.81s\nvexxhost.containers.download_artifact : Extract archive ----------------- 1.76s\nINFO     [secretgen-controller > prepare] Executed: Successful\nINFO     [secretgen-controller > converge] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nFriday 25 September 2026  02:22:30 +0000 (0:00:00.035)       0:00:00.035 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nchanged: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 25 September 2026  02:22:32 +0000 (0:00:01.495)       0:00:01.531 ******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.50s\nINFO     [secretgen-controller > converge] Executed: Successful\nINFO     [secretgen-controller > idempotence] Executing\n\nPLAY [Deploy \"secretgen-controller\"] *******************************************\n\nTASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****\nFriday 25 September 2026  02:22:33 +0000 (0:00:00.037)       0:00:00.037 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 25 September 2026  02:22:34 +0000 (0:00:01.395)       0:00:01.433 ******\n===============================================================================\natmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.40s\nINFO     [secretgen-controller > idempotence] Executed: Successful\nINFO     [secretgen-controller > side_effect] Executing\nWARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > verify] Executing\n\nPLAY [Verify] ******************************************************************\n\nTASK [Gathering Facts] *********************************************************\nFriday 25 September 2026  02:22:35 +0000 (0:00:00.029)       0:00:00.029 ******\n[WARNING]: Platform linux on host controller is using the discovered Python\ninterpreter at /usr/bin/python3.12, but future installation of another Python\ninterpreter could change the meaning of that path. See\nhttps://docs.ansible.com/ansible-\ncore/2.18/reference_appendices/interpreter_discovery.html for more information.\nok: [controller]\n\nTASK [Wait for secretgen-controller deployment to be available] ****************\nFriday 25 September 2026  02:22:38 +0000 (0:00:03.453)       0:00:03.483 ******\n[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not\nwork.\nok: [controller]\n\nTASK [Create a test Password resource] *****************************************\nFriday 25 September 2026  02:22:39 +0000 (0:00:00.919)       0:00:04.403 ******\nchanged: [controller]\n\nTASK [Wait for test-password secret to be generated] ***************************\nFriday 25 September 2026  02:22:40 +0000 (0:00:00.868)       0:00:05.271 ******\nok: [controller]\n\nPLAY RECAP *********************************************************************\ncontroller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0\n\n\nTASKS RECAP ********************************************************************\nFriday 25 September 2026  02:22:41 +0000 (0:00:00.683)       0:00:05.955 ******\n===============================================================================\nGathering Facts --------------------------------------------------------- 3.45s\nWait for secretgen-controller deployment to be available ---------------- 0.92s\nCreate a test Password resource ----------------------------------------- 0.87s\nWait for test-password secret to be generated --------------------------- 0.68s\nINFO     [secretgen-controller > verify] Executed: Successful\nINFO     [secretgen-controller > cleanup] Executing\nWARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)\nINFO     [secretgen-controller > destroy] Executing\nWARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.\nINFO     [secretgen-controller > destroy] Executed: Successful\nWARNING  Molecule executed 1 scenario (1 missing files)",
                            "stdout_lines": [
                                "warning: No `requires-python` value found in the workspace. Defaulting to `>=3.12`.",
                                "INFO     Collection 'atmosphere.common' detected.",
                                "INFO     Scenarios will be used from 'extensions/molecule'",
                                "INFO     [secretgen-controller > discovery] scenario test matrix: dependency, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy",
                                "INFO     [secretgen-controller > prerun] Performing prerun with role_name_check=0...",
                                "INFO     [secretgen-controller > dependency] Executing",
                                "WARNING  [secretgen-controller > dependency] Missing roles requirements file: requirements.yml",
                                "WARNING  [secretgen-controller > dependency] Missing collections requirements file: collections.yml",
                                "WARNING  [secretgen-controller > dependency] Executed: 2 missing (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "INFO     [secretgen-controller > syntax] Executing",
                                "",
                                "playbook: /home/zuul/src/github.com/vexxhost/atmosphere.common/extensions/molecule/secretgen-controller/converge.yml",
                                "INFO     [secretgen-controller > syntax] Executed: Successful",
                                "INFO     [secretgen-controller > create] Executing",
                                "WARNING  [secretgen-controller > create] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > prepare] Executing",
                                "",
                                "PLAY [Prepare] *****************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:19:01 +0000 (0:00:00.032)       0:00:00.032 ******",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Install Debian packages] *************************************************",
                                "Friday 25 September 2026  02:19:03 +0000 (0:00:01.502)       0:00:01.535 ******",
                                "ok: [controller]",
                                "",
                                "PLAY [Configure Kubernetes VIP] ************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:19:06 +0000 (0:00:03.097)       0:00:04.633 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/etc/kubernetes/manifests)] ***",
                                "Friday 25 September 2026  02:19:07 +0000 (0:00:00.906)       0:00:05.539 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Uninstall legacy HA stack] ****************",
                                "Friday 25 September 2026  02:19:07 +0000 (0:00:00.374)       0:00:05.913 ******",
                                "ok: [controller] => (item=/etc/keepalived/keepalived.conf)",
                                "ok: [controller] => (item=/etc/keepalived/check_apiserver.sh)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests/keepalived.yaml)",
                                "ok: [controller] => (item=/etc/haproxy/haproxy.cfg)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests/haproxy.yaml)",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Switch API server to run on port 6443] ****",
                                "Friday 25 September 2026  02:19:09 +0000 (0:00:01.292)       0:00:07.205 ******",
                                "failed: [controller] (item=/etc/kubernetes/manifests/kube-apiserver.yaml) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/manifests/kube-apiserver.yaml\", \"msg\": \"Path /etc/kubernetes/manifests/kube-apiserver.yaml does not exist !\", \"rc\": 257}",
                                "failed: [controller] (item=/etc/kubernetes/controller-manager.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/controller-manager.conf\", \"msg\": \"Path /etc/kubernetes/controller-manager.conf does not exist !\", \"rc\": 257}",
                                "failed: [controller] (item=/etc/kubernetes/scheduler.conf) => {\"ansible_loop_var\": \"item\", \"changed\": false, \"item\": \"/etc/kubernetes/scheduler.conf\", \"msg\": \"Path /etc/kubernetes/scheduler.conf does not exist !\", \"rc\": 257}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if super-admin.conf exists] *********",
                                "Friday 25 September 2026  02:19:09 +0000 (0:00:00.827)       0:00:08.033 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Check if kubeadm has already run] *********",
                                "Friday 25 September 2026  02:19:10 +0000 (0:00:00.418)       0:00:08.452 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path] ************",
                                "Friday 25 September 2026  02:19:10 +0000 (0:00:00.275)       0:00:08.727 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Set fact with KUBECONFIG path (with super-admin.conf)] ***",
                                "Friday 25 September 2026  02:19:10 +0000 (0:00:00.042)       0:00:08.769 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Upload Kubernetes manifest] ***************",
                                "Friday 25 September 2026  02:19:10 +0000 (0:00:00.055)       0:00:08.824 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Ensure kube-vip configuration file] *******",
                                "Friday 25 September 2026  02:19:11 +0000 (0:00:00.935)       0:00:09.760 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kube_vip : Flush handlers] ***************************",
                                "Friday 25 September 2026  02:19:11 +0000 (0:00:00.295)       0:00:10.055 ******",
                                "",
                                "PLAY [Install Kubernetes] ******************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:19:12 +0000 (0:00:00.070)       0:00:10.126 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:19:13 +0000 (0:00:01.899)       0:00:12.026 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 25 September 2026  02:19:14 +0000 (0:00:00.320)       0:00:12.346 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 25 September 2026  02:19:14 +0000 (0:00:00.056)       0:00:12.403 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:19:14 +0000 (0:00:00.302)       0:00:12.706 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/opencontainers/runc/releases/download/v1.4.2/runc.amd64\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:19:14 +0000 (0:00:00.087)       0:00:12.793 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:19:15 +0000 (0:00:00.983)       0:00:13.777 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:19:15 +0000 (0:00:00.044)       0:00:13.821 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 25 September 2026  02:19:16 +0000 (0:00:00.310)       0:00:14.132 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:19:17 +0000 (0:00:01.096)       0:00:15.228 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containerd/containerd/releases/download/v2.3.2/containerd-2.3.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:19:17 +0000 (0:00:00.131)       0:00:15.360 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:19:18 +0000 (0:00:01.117)       0:00:16.477 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 25 September 2026  02:19:22 +0000 (0:00:04.205)       0:00:20.683 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 25 September 2026  02:19:22 +0000 (0:00:00.033)       0:00:20.716 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 25 September 2026  02:19:22 +0000 (0:00:00.062)       0:00:20.779 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 25 September 2026  02:19:22 +0000 (0:00:00.034)       0:00:20.814 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 25 September 2026  02:19:30 +0000 (0:00:08.100)       0:00:28.914 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 25 September 2026  02:19:31 +0000 (0:00:00.675)       0:00:29.589 ******",
                                "changed: [controller] => (item={'path': '/etc/containerd'})",
                                "changed: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "changed: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "changed: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "changed: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Friday 25 September 2026  02:19:32 +0000 (0:00:01.221)       0:00:30.811 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 25 September 2026  02:19:33 +0000 (0:00:00.813)       0:00:31.625 ******",
                                "",
                                "RUNNING HANDLER [vexxhost.containers.containerd : Restart containerd] **********",
                                "Friday 25 September 2026  02:19:33 +0000 (0:00:00.013)       0:00:31.638 ******",
                                "changed: [controller]",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 25 September 2026  02:19:34 +0000 (0:00:01.047)       0:00:32.686 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 25 September 2026  02:19:35 +0000 (0:00:00.922)       0:00:33.608 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the \"kubeadm-config\" ConfigMap] ***",
                                "Friday 25 September 2026  02:19:36 +0000 (0:00:00.752)       0:00:34.360 ******",
                                "fatal: [controller]: FAILED! => {\"changed\": false, \"msg\": \"Failed to import the required Python library (kubernetes) on np0000193942's Python /usr/bin/python3.12. Please read the module documentation and install it in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter\"}",
                                "...ignoring",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Parse the ClusterConfiguration] ***",
                                "Friday 25 September 2026  02:19:36 +0000 (0:00:00.673)       0:00:35.034 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Retrieve the current Kubernetes version] ***",
                                "Friday 25 September 2026  02:19:37 +0000 (0:00:00.054)       0:00:35.088 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Extract major, minor, and patch versions] ***",
                                "Friday 25 September 2026  02:19:37 +0000 (0:00:00.049)       0:00:35.138 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Fail if we're jumping more than one minor version] ***",
                                "Friday 25 September 2026  02:19:37 +0000 (0:00:00.055)       0:00:35.193 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes_upgrade_check : Set fact if we need to upgrade] ***",
                                "Friday 25 September 2026  02:19:37 +0000 (0:00:00.049)       0:00:35.242 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:19:37 +0000 (0:00:00.061)       0:00:35.303 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:19:37 +0000 (0:00:00.284)       0:00:35.588 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubeadm\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:19:37 +0000 (0:00:00.061)       0:00:35.650 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:19:43 +0000 (0:00:05.886)       0:00:41.536 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:19:43 +0000 (0:00:00.057)       0:00:41.594 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:19:43 +0000 (0:00:00.305)       0:00:41.899 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubectl\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:19:43 +0000 (0:00:00.049)       0:00:41.948 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:19:49 +0000 (0:00:05.341)       0:00:47.289 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install SELinux packages] ***************",
                                "Friday 25 September 2026  02:19:49 +0000 (0:00:00.068)       0:00:47.358 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Set SELinux to permissive at runtime] ***",
                                "Friday 25 September 2026  02:19:49 +0000 (0:00:00.040)       0:00:47.398 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Persist SELinux permissive mode] ********",
                                "Friday 25 September 2026  02:19:49 +0000 (0:00:00.035)       0:00:47.434 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Install AppArmor packages] **************",
                                "Friday 25 September 2026  02:19:49 +0000 (0:00:00.043)       0:00:47.477 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create systemd service file for containerd] ***",
                                "Friday 25 September 2026  02:19:50 +0000 (0:00:01.045)       0:00:48.523 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Create folders for configuration] *******",
                                "Friday 25 September 2026  02:19:51 +0000 (0:00:00.608)       0:00:49.132 ******",
                                "ok: [controller] => (item={'path': '/etc/containerd'})",
                                "ok: [controller] => (item={'path': '/var/lib/containerd', 'mode': '0o700'})",
                                "ok: [controller] => (item={'path': '/run/containerd', 'mode': '0o711'})",
                                "ok: [controller] => (item={'path': '/run/containerd/io.containerd.grpc.v1.cri', 'mode': '0o700'})",
                                "ok: [controller] => (item={'path': '/run/containerd/io.containerd.sandbox.controller.v1.shim', 'mode': '0o700'})",
                                "",
                                "TASK [vexxhost.containers.containerd : Create containerd config file] **********",
                                "Friday 25 September 2026  02:19:52 +0000 (0:00:01.302)       0:00:50.434 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.containerd : Force any restarts if necessary] ********",
                                "Friday 25 September 2026  02:19:53 +0000 (0:00:00.740)       0:00:51.174 ******",
                                "",
                                "TASK [vexxhost.containers.containerd : Enable and start service] ***************",
                                "Friday 25 September 2026  02:19:53 +0000 (0:00:00.009)       0:00:51.183 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:19:53 +0000 (0:00:00.500)       0:00:51.684 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:19:53 +0000 (0:00:00.289)       0:00:51.974 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/crictl-v1.36.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:19:53 +0000 (0:00:00.077)       0:00:52.051 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:19:54 +0000 (0:00:00.829)       0:00:52.881 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:19:56 +0000 (0:00:01.759)       0:00:54.640 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/critest-v1.36.0-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:19:56 +0000 (0:00:00.082)       0:00:54.723 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:19:57 +0000 (0:00:00.871)       0:00:55.594 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cri_tools : Create crictl config] ********************",
                                "Friday 25 September 2026  02:19:59 +0000 (0:00:01.704)       0:00:57.298 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/opt/cni/bin)] *********",
                                "Friday 25 September 2026  02:19:59 +0000 (0:00:00.686)       0:00:57.985 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:00 +0000 (0:00:00.300)       0:00:58.285 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:00 +0000 (0:00:00.276)       0:00:58.561 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/containernetworking/plugins/releases/download/v1.9.1/cni-plugins-linux-amd64-v1.9.1.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:20:00 +0000 (0:00:00.090)       0:00:58.652 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:01 +0000 (0:00:01.210)       0:00:59.862 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Gather variables for each operating system] ***",
                                "Friday 25 September 2026  02:20:04 +0000 (0:00:02.969)       0:01:02.831 ******",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/containers/roles/cni_plugins/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Install additional packages] ***********",
                                "Friday 25 September 2026  02:20:04 +0000 (0:00:00.066)       0:01:02.898 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Ensure IPv6 is enabled] ****************",
                                "Friday 25 September 2026  02:20:06 +0000 (0:00:01.266)       0:01:04.164 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules on-boot] *********",
                                "Friday 25 September 2026  02:20:06 +0000 (0:00:00.402)       0:01:04.567 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.cni_plugins : Enable kernel modules in runtime] ******",
                                "Friday 25 September 2026  02:20:07 +0000 (0:00:00.702)       0:01:05.269 ******",
                                "changed: [controller] => (item=br_netfilter)",
                                "ok: [controller] => (item=ip_tables)",
                                "changed: [controller] => (item=ip6_tables)",
                                "changed: [controller] => (item=nf_conntrack)",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:20:08 +0000 (0:00:01.248)       0:01:06.518 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:20:08 +0000 (0:00:00.285)       0:01:06.803 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://dl.k8s.io/release/v1.28.13/bin/linux/amd64/kubelet\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:20:08 +0000 (0:00:00.063)       0:01:06.867 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:20:19 +0000 (0:00:10.665)       0:01:17.532 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Gather variables for each operating system] ***",
                                "Friday 25 September 2026  02:20:19 +0000 (0:00:00.053)       0:01:17.586 ******",
                                "ok: [controller] => (item=/home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubelet/vars/debian.yml)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install coreutils] *************************",
                                "Friday 25 September 2026  02:20:19 +0000 (0:00:00.077)       0:01:17.663 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Install additional packages] ***************",
                                "Friday 25 September 2026  02:20:19 +0000 (0:00:00.041)       0:01:17.705 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure sysctl values] *******************",
                                "Friday 25 September 2026  02:20:23 +0000 (0:00:03.490)       0:01:21.196 ******",
                                "changed: [controller] => (item={'name': 'net.ipv4.ip_forward', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.bridge.bridge-nf-call-iptables', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.bridge.bridge-nf-call-ip6tables', 'value': 1})",
                                "changed: [controller] => (item={'name': 'net.ipv4.conf.all.rp_filter', 'value': 0})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_queued_events', 'value': 1048576})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_user_instances', 'value': 8192})",
                                "changed: [controller] => (item={'name': 'fs.inotify.max_user_watches', 'value': 1048576})",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create folders for kubernetes configuration] ***",
                                "Friday 25 September 2026  02:20:24 +0000 (0:00:01.852)       0:01:23.048 ******",
                                "changed: [controller] => (item=/etc/systemd/system/kubelet.service.d)",
                                "ok: [controller] => (item=/etc/kubernetes)",
                                "ok: [controller] => (item=/etc/kubernetes/manifests)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubelet systemd service config] ********",
                                "Friday 25 September 2026  02:20:25 +0000 (0:00:00.802)       0:01:23.850 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Add kubeadm dropin for kubelet systemd service config] ***",
                                "Friday 25 September 2026  02:20:26 +0000 (0:00:00.636)       0:01:24.487 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Check swap status] *************************",
                                "Friday 25 September 2026  02:20:27 +0000 (0:00:00.618)       0:01:25.106 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Disable swap] ******************************",
                                "Friday 25 September 2026  02:20:27 +0000 (0:00:00.391)       0:01:25.497 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Remove swapfile from /etc/fstab] ***********",
                                "Friday 25 September 2026  02:20:27 +0000 (0:00:00.034)       0:01:25.531 ******",
                                "ok: [controller] => (item=swap)",
                                "ok: [controller] => (item=none)",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Create noswap systemd service config file] ***",
                                "Friday 25 September 2026  02:20:28 +0000 (0:00:00.613)       0:01:26.144 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable noswap service] *********************",
                                "Friday 25 September 2026  02:20:28 +0000 (0:00:00.647)       0:01:26.792 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Force any restarts if necessary] ***********",
                                "Friday 25 September 2026  02:20:29 +0000 (0:00:00.771)       0:01:27.564 ******",
                                "",
                                "RUNNING HANDLER [vexxhost.kubernetes.kubelet : Reload systemd] *****************",
                                "Friday 25 September 2026  02:20:29 +0000 (0:00:00.008)       0:01:27.572 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Enable and start kubelet service] **********",
                                "Friday 25 September 2026  02:20:30 +0000 (0:00:00.884)       0:01:28.457 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure availability of dbus on Debian] *****",
                                "Friday 25 September 2026  02:20:31 +0000 (0:00:00.808)       0:01:29.265 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Configure short hostname] ******************",
                                "Friday 25 September 2026  02:20:32 +0000 (0:00:01.175)       0:01:30.441 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubelet : Ensure hostname inside hosts file] *********",
                                "Friday 25 September 2026  02:20:33 +0000 (0:00:00.959)       0:01:31.401 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kubernetes repository] ***********",
                                "Friday 25 September 2026  02:20:33 +0000 (0:00:00.404)       0:01:31.805 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup control plane] ********************",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.544)       0:01:32.350 ******",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/control-plane.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Bootstrap cluster] **********************",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.073)       0:01:32.424 ******",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/kubernetes/tasks/bootstrap-cluster.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if any control plane is bootstrapped] ***",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.062)       0:01:32.486 ******",
                                "ok: [controller] => (item=controller)",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Pick node from pre-existing cluster] ****",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.320)       0:01:32.807 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Select first node to initialize cluster] ***",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.058)       0:01:32.866 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Print selected bootstrap node] **********",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.059)       0:01:32.925 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"controller\"",
                                "}",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upload cluster configuration for bootstrap node] ***",
                                "Friday 25 September 2026  02:20:34 +0000 (0:00:00.054)       0:01:32.980 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create pki folder] **********************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.674)       0:01:33.654 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca key] ***************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.043)       0:01:33.698 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create kubernetes ca cert] **************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.045)       0:01:33.743 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca key] *********************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.042)       0:01:33.786 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create etcd-ca cert] ********************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.044)       0:01:33.830 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca key] **************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.043)       0:01:33.874 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create front-proxy-ca cert] *************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.044)       0:01:33.918 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Initialize cluster] *********************",
                                "Friday 25 September 2026  02:20:35 +0000 (0:00:00.045)       0:01:33.964 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the node is already part of the cluster] ***",
                                "Friday 25 September 2026  02:21:09 +0000 (0:00:33.640)       0:02:07.604 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Join cluster] ***************************",
                                "Friday 25 September 2026  02:21:09 +0000 (0:00:00.265)       0:02:07.870 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Create folder for admin configuration] ***",
                                "Friday 25 September 2026  02:21:09 +0000 (0:00:00.026)       0:02:07.896 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Creating a symlink for admin configuration file] ***",
                                "Friday 25 September 2026  02:21:10 +0000 (0:00:00.244)       0:02:08.141 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Add bash autocomplete for kubectl] ******",
                                "Friday 25 September 2026  02:21:10 +0000 (0:00:00.262)       0:02:08.404 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install PIP] ****************************",
                                "Friday 25 September 2026  02:21:10 +0000 (0:00:00.270)       0:02:08.674 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using pip on supported systems] ***",
                                "Friday 25 September 2026  02:21:10 +0000 (0:00:00.039)       0:02:08.713 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Enable EPEL repository] *****************",
                                "Friday 25 September 2026  02:21:10 +0000 (0:00:00.042)       0:02:08.755 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems] ***",
                                "Friday 25 September 2026  02:21:10 +0000 (0:00:00.042)       0:02:08.798 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Allow workload on control plane node] ***",
                                "Friday 25 September 2026  02:21:19 +0000 (0:00:08.981)       0:02:17.780 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Remove kube-proxy resources] ************",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:01.002)       0:02:18.782 ******",
                                "skipping: [controller] => (item=DaemonSet)",
                                "skipping: [controller] => (item=ConfigMap)",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Start an upgrade] ***********************",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:00.058)       0:02:18.841 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Check if the Kubernetes API services is up to date] ***",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:00.041)       0:02:18.882 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Trigger an upgrade of the Kubernetes API services] ***",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:00.037)       0:02:18.920 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Setup nodes] ****************************",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:00.042)       0:02:18.962 ******",
                                "skipping: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Upgrade & restart Kubelet node for upgrade (if needed)] ***",
                                "Friday 25 September 2026  02:21:20 +0000 (0:00:00.039)       0:02:19.002 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.kubernetes : Set node selector for CoreDNS components] ***",
                                "Friday 25 September 2026  02:21:21 +0000 (0:00:00.533)       0:02:19.536 ******",
                                "changed: [controller]",
                                "",
                                "PLAY [Install control-plane components] ****************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:21:22 +0000 (0:00:01.038)       0:02:20.574 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.forget_package : Forget package] *********************",
                                "Friday 25 September 2026  02:21:24 +0000 (0:00:01.940)       0:02:22.515 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.package : Update state for tar] **********************",
                                "Friday 25 September 2026  02:21:24 +0000 (0:00:00.317)       0:02:22.833 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.directory : Create directory (/var/lib/downloads)] ***",
                                "Friday 25 September 2026  02:21:26 +0000 (0:00:01.503)       0:02:24.336 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:21:26 +0000 (0:00:00.306)       0:02:24.643 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://get.helm.sh/helm-v3.11.2-linux-amd64.tar.gz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:21:26 +0000 (0:00:00.058)       0:02:24.701 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:21:37 +0000 (0:00:10.729)       0:02:35.431 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm repository] ***********************",
                                "Friday 25 September 2026  02:21:40 +0000 (0:00:02.756)       0:02:38.187 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Add bash autocomplete for helm] ***************",
                                "Friday 25 September 2026  02:21:40 +0000 (0:00:00.409)       0:02:38.596 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Get Helm plugins dir] *************************",
                                "Friday 25 September 2026  02:21:40 +0000 (0:00:00.269)       0:02:38.866 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Create Helm plugins directory if it does not exist] ***",
                                "Friday 25 September 2026  02:21:41 +0000 (0:00:00.347)       0:02:39.214 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.helm : Remove Helm diff plugin installed by kubernetes.core.helm_plugin] ***",
                                "Friday 25 September 2026  02:21:41 +0000 (0:00:00.315)       0:02:39.530 ******",
                                "ok: [controller]",
                                "",
                                "TASK [Install plugin] **********************************************************",
                                "Friday 25 September 2026  02:21:41 +0000 (0:00:00.280)       0:02:39.810 ******",
                                "included: vexxhost.containers.download_artifact for controller",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Starting download of file] *******",
                                "Friday 25 September 2026  02:21:41 +0000 (0:00:00.035)       0:02:39.845 ******",
                                "ok: [controller] => {",
                                "    \"msg\": \"https://github.com/databus23/helm-diff/releases/download/v3.8.1/helm-diff-linux-amd64.tgz\"",
                                "}",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Download item] *******************",
                                "Friday 25 September 2026  02:21:41 +0000 (0:00:00.043)       0:02:39.889 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.containers.download_artifact : Extract archive] *****************",
                                "Friday 25 September 2026  02:21:42 +0000 (0:00:00.839)       0:02:40.728 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 25 September 2026  02:21:45 +0000 (0:00:03.094)       0:02:43.822 ******",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Friday 25 September 2026  02:21:45 +0000 (0:00:00.044)       0:02:43.867 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Get current Kubernetes version] *************",
                                "Friday 25 September 2026  02:21:46 +0000 (0:00:00.761)       0:02:44.628 ******",
                                "ok: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.cilium : Deploy Helm chart] **************************",
                                "Friday 25 September 2026  02:21:47 +0000 (0:00:00.845)       0:02:45.473 ******",
                                "[DEPRECATION WARNING]: The 'status.values' return value is deprecated and will",
                                "be removed in version 8.0.0. Use 'status.release_values' instead. This feature",
                                "will be removed from kubernetes.core in version 8.0.0. Deprecation warnings can",
                                " be disabled by setting deprecation_warnings=False in ansible.cfg.",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Include help chart upload method tasks] ***",
                                "Friday 25 September 2026  02:21:49 +0000 (0:00:02.297)       0:02:47.771 ******",
                                "included: /home/zuul/.ansible/collections/ansible_collections/vexxhost/kubernetes/roles/upload_helm_chart/tasks/synchronize.yml for controller",
                                "",
                                "TASK [vexxhost.kubernetes.upload_helm_chart : Upload Helm chart] ***************",
                                "Friday 25 September 2026  02:21:49 +0000 (0:00:00.029)       0:02:47.801 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Deploy Helm chart] *******************",
                                "Friday 25 September 2026  02:21:50 +0000 (0:00:00.636)       0:02:48.437 ******",
                                "changed: [controller]",
                                "",
                                "TASK [vexxhost.kubernetes.envoy_gateway : Create GatewayClass] *****************",
                                "Friday 25 September 2026  02:22:29 +0000 (0:00:38.651)       0:03:27.088 ******",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=117  changed=54   unreachable=0    failed=0    skipped=35   rescued=0    ignored=2",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 25 September 2026  02:22:29 +0000 (0:00:00.768)       0:03:27.856 ******",
                                "===============================================================================",
                                "vexxhost.kubernetes.envoy_gateway : Deploy Helm chart ------------------ 38.65s",
                                "vexxhost.kubernetes.kubernetes : Initialize cluster -------------------- 33.64s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 10.73s",
                                "vexxhost.containers.download_artifact : Download item ------------------ 10.66s",
                                "vexxhost.kubernetes.kubernetes : Install Kubernetes Python package using package manager on supported systems --- 8.98s",
                                "vexxhost.containers.containerd : Install AppArmor packages -------------- 8.10s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 5.89s",
                                "vexxhost.containers.download_artifact : Download item ------------------- 5.34s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 4.21s",
                                "vexxhost.kubernetes.kubelet : Install additional packages --------------- 3.49s",
                                "Install Debian packages ------------------------------------------------- 3.10s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 3.09s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.97s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 2.76s",
                                "vexxhost.kubernetes.cilium : Deploy Helm chart -------------------------- 2.30s",
                                "Gathering Facts --------------------------------------------------------- 1.94s",
                                "Gathering Facts --------------------------------------------------------- 1.90s",
                                "vexxhost.kubernetes.kubelet : Configure sysctl values ------------------- 1.85s",
                                "vexxhost.kubernetes.kubelet : Reload systemd ---------------------------- 1.81s",
                                "vexxhost.containers.download_artifact : Extract archive ----------------- 1.76s",
                                "INFO     [secretgen-controller > prepare] Executed: Successful",
                                "INFO     [secretgen-controller > converge] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Friday 25 September 2026  02:22:30 +0000 (0:00:00.035)       0:00:00.035 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "changed: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 25 September 2026  02:22:32 +0000 (0:00:01.495)       0:00:01.531 ******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.50s",
                                "INFO     [secretgen-controller > converge] Executed: Successful",
                                "INFO     [secretgen-controller > idempotence] Executing",
                                "",
                                "PLAY [Deploy \"secretgen-controller\"] *******************************************",
                                "",
                                "TASK [atmosphere.common.secretgen_controller : Deploy secretgen-controller] ****",
                                "Friday 25 September 2026  02:22:33 +0000 (0:00:00.037)       0:00:00.037 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 25 September 2026  02:22:34 +0000 (0:00:01.395)       0:00:01.433 ******",
                                "===============================================================================",
                                "atmosphere.common.secretgen_controller : Deploy secretgen-controller ---- 1.40s",
                                "INFO     [secretgen-controller > idempotence] Executed: Successful",
                                "INFO     [secretgen-controller > side_effect] Executing",
                                "WARNING  [secretgen-controller > side_effect] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > verify] Executing",
                                "",
                                "PLAY [Verify] ******************************************************************",
                                "",
                                "TASK [Gathering Facts] *********************************************************",
                                "Friday 25 September 2026  02:22:35 +0000 (0:00:00.029)       0:00:00.029 ******",
                                "[WARNING]: Platform linux on host controller is using the discovered Python",
                                "interpreter at /usr/bin/python3.12, but future installation of another Python",
                                "interpreter could change the meaning of that path. See",
                                "https://docs.ansible.com/ansible-",
                                "core/2.18/reference_appendices/interpreter_discovery.html for more information.",
                                "ok: [controller]",
                                "",
                                "TASK [Wait for secretgen-controller deployment to be available] ****************",
                                "Friday 25 September 2026  02:22:38 +0000 (0:00:03.453)       0:00:03.483 ******",
                                "[WARNING]: kubernetes<24.2.0 is not supported or tested. Some features may not",
                                "work.",
                                "ok: [controller]",
                                "",
                                "TASK [Create a test Password resource] *****************************************",
                                "Friday 25 September 2026  02:22:39 +0000 (0:00:00.919)       0:00:04.403 ******",
                                "changed: [controller]",
                                "",
                                "TASK [Wait for test-password secret to be generated] ***************************",
                                "Friday 25 September 2026  02:22:40 +0000 (0:00:00.868)       0:00:05.271 ******",
                                "ok: [controller]",
                                "",
                                "PLAY RECAP *********************************************************************",
                                "controller                 : ok=4    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0",
                                "",
                                "",
                                "TASKS RECAP ********************************************************************",
                                "Friday 25 September 2026  02:22:41 +0000 (0:00:00.683)       0:00:05.955 ******",
                                "===============================================================================",
                                "Gathering Facts --------------------------------------------------------- 3.45s",
                                "Wait for secretgen-controller deployment to be available ---------------- 0.92s",
                                "Create a test Password resource ----------------------------------------- 0.87s",
                                "Wait for test-password secret to be generated --------------------------- 0.68s",
                                "INFO     [secretgen-controller > verify] Executed: Successful",
                                "INFO     [secretgen-controller > cleanup] Executing",
                                "WARNING  [secretgen-controller > cleanup] Executed: Missing playbook (Remove from test_sequence to suppress)",
                                "INFO     [secretgen-controller > destroy] Executing",
                                "WARNING  [secretgen-controller > destroy] Skipping, '--destroy=never' requested.",
                                "INFO     [secretgen-controller > destroy] Executed: Successful",
                                "WARNING  Molecule executed 1 scenario (1 missing files)"
                            ],
                            "zuul_log_id": "0242ac17-0010-c266-bbcb-000000000007-1-controller"
                        }
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:41.746993Z",
                            "start": "2026-09-25T02:18:35.577053Z"
                        },
                        "id": "0242ac17-0010-c266-bbcb-000000000007",
                        "name": "Run Molecule scenario"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 3,
            "failures": 0,
            "ignored": 0,
            "ok": 4,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "0",
    "phase": "post",
    "playbook": "github.com/vexxhost/atmosphere.common/test-playbooks/molecule/post.yml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:23:31.314519Z",
                    "start": "2026-09-25T02:22:42.477701Z"
                },
                "id": "0242ac17-0010-0acf-bd33-000000000002",
                "name": "Collect Molecule logs"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/system",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/system",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/system",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/system",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:42.932322Z",
                            "start": "2026-09-25T02:22:42.490354Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000000c",
                        "name": "creating directory for system status"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nip neigh > /tmp/logs/system/ip-neigh.txt\nbridge fdb show > /tmp/logs/system/bridge-fdb.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                            "delta": "0:00:00.122124",
                            "end": "2026-09-25 02:22:43.482182",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\nsystemd-cgls --full --all --no-pager > /tmp/logs/system/systemd-cgls.txt\nip addr > /tmp/logs/system/ip-addr.txt\nip route > /tmp/logs/system/ip-route.txt\nlsblk > /tmp/logs/system/lsblk.txt\nmount > /tmp/logs/system/mount.txt\ndocker images > /tmp/logs/system/docker-images.txt\nbrctl show > /tmp/logs/system/brctl-show.txt\nip neigh > /tmp/logs/system/ip-neigh.txt\nbridge fdb show > /tmp/logs/system/bridge-fdb.txt\nps aux --sort=-%mem > /tmp/logs/system/ps.txt\ndpkg -l > /tmp/logs/system/packages.txt\nCONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\nif [ ! -z \"$CONTAINERS\" ]; then\n  mkdir -p \"/tmp/logs/system/containers\"\n  for CONTAINER in ${CONTAINERS}; do\n    docker logs \"${CONTAINER}\" > \"/tmp/logs/system/containers/${CONTAINER}.txt\"\n  done\nfi",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000000d-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:22:43.360058",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ systemd-cgls --full --all --no-pager\n+ ip addr\n+ ip route\n+ lsblk\n+ mount\n+ docker images\n/bin/bash: line 7: docker: command not found\n+ brctl show\n/bin/bash: line 8: brctl: command not found\n+ ip neigh\n+ bridge fdb show\n+ ps aux --sort=-%mem\n+ dpkg -l\n+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))\n++ docker ps -a --format '{{ .Names }}' --filter label=zuul\n/bin/bash: line 13: docker: command not found\n+ '[' '!' -z '' ']'",
                            "stdout_lines": [
                                "+ systemd-cgls --full --all --no-pager",
                                "+ ip addr",
                                "+ ip route",
                                "+ lsblk",
                                "+ mount",
                                "+ docker images",
                                "/bin/bash: line 7: docker: command not found",
                                "+ brctl show",
                                "/bin/bash: line 8: brctl: command not found",
                                "+ ip neigh",
                                "+ bridge fdb show",
                                "+ ps aux --sort=-%mem",
                                "+ dpkg -l",
                                "+ CONTAINERS=($(docker ps -a --format '{{ .Names }}' --filter label=zuul))",
                                "++ docker ps -a --format '{{ .Names }}' --filter label=zuul",
                                "/bin/bash: line 13: docker: command not found",
                                "+ '[' '!' -z '' ']'"
                            ],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000000d-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:43.992710Z",
                            "start": "2026-09-25T02:22:42.976444Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000000d",
                        "name": "Get logs for each host"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/tmp/logs/system /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.208:/tmp/logs/system",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "created directory /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller\ncd+++++++++ system/\n>f+++++++++ system/brctl-show.txt\n>f+++++++++ system/bridge-fdb.txt\n>f+++++++++ system/docker-images.txt\n>f+++++++++ system/ip-addr.txt\n>f+++++++++ system/ip-neigh.txt\n>f+++++++++ system/ip-route.txt\n>f+++++++++ system/lsblk.txt\n>f+++++++++ system/mount.txt\n>f+++++++++ system/packages.txt\n>f+++++++++ system/ps.txt\n>f+++++++++ system/systemd-cgls.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "created directory /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                                "cd+++++++++ system/",
                                ">f+++++++++ system/brctl-show.txt",
                                ">f+++++++++ system/bridge-fdb.txt",
                                ">f+++++++++ system/docker-images.txt",
                                ">f+++++++++ system/ip-addr.txt",
                                ">f+++++++++ system/ip-neigh.txt",
                                ">f+++++++++ system/ip-route.txt",
                                ">f+++++++++ system/lsblk.txt",
                                ">f+++++++++ system/mount.txt",
                                ">f+++++++++ system/packages.txt",
                                ">f+++++++++ system/ps.txt",
                                ">f+++++++++ system/systemd-cgls.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000000a",
                        "name": "gather-host-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-host-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:44.735506Z",
                            "start": "2026-09-25T02:22:44.005813Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000000e",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/values",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "values",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/values",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/values",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                },
                                {
                                    "ansible_loop_var": "directory",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/tmp/logs/helm/releases",
                                            "state": "absent"
                                        }
                                    },
                                    "directory": "releases",
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": null,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/tmp/logs/helm/releases",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/tmp/logs/helm/releases",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:45.291962Z",
                            "start": "2026-09-25T02:22:44.756998Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000012",
                        "name": "creating directory for helm release status"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                            "delta": "0:00:01.687053",
                            "end": "2026-09-25 02:22:47.323355",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\n\nfor namespace in $(kubectl get namespaces --no-headers --output custom-columns=\":metadata.name\"); do\n      # get all Helm releases including pending and failed releases\n      for release in $(helm list --all --short --namespace $namespace); do\n              # Make respective directories only when a Helm release actually exists in the namespace\n              # to prevent uploading a bunch of empty directories for namespaces without a Helm release.\n              mkdir -p /tmp/logs/helm/releases/$namespace\n              mkdir -p /tmp/logs/helm/values/$namespace\n\n              helm status $release --namespace $namespace >> /tmp/logs/helm/releases/$namespace/$release.txt\n              helm get values $release --namespace $namespace --all >> /tmp/logs/helm/values/$namespace/$release.yaml\n      done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000014-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:22:45.636302",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000014-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:47.383903Z",
                            "start": "2026-09-25T02:22:45.340988Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000014",
                        "name": "Gather get release status for helm charts"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/tmp/logs/helm /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.208:/tmp/logs/helm",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ helm/\ncd+++++++++ helm/releases/\ncd+++++++++ helm/releases/envoy-gateway-system/\n>f+++++++++ helm/releases/envoy-gateway-system/envoy-gateway.txt\ncd+++++++++ helm/releases/kube-system/\n>f+++++++++ helm/releases/kube-system/cilium.txt\ncd+++++++++ helm/values/\ncd+++++++++ helm/values/envoy-gateway-system/\n>f+++++++++ helm/values/envoy-gateway-system/envoy-gateway.yaml\ncd+++++++++ helm/values/kube-system/\n>f+++++++++ helm/values/kube-system/cilium.yaml\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ helm/",
                                "cd+++++++++ helm/releases/",
                                "cd+++++++++ helm/releases/envoy-gateway-system/",
                                ">f+++++++++ helm/releases/envoy-gateway-system/envoy-gateway.txt",
                                "cd+++++++++ helm/releases/kube-system/",
                                ">f+++++++++ helm/releases/kube-system/cilium.txt",
                                "cd+++++++++ helm/values/",
                                "cd+++++++++ helm/values/envoy-gateway-system/",
                                ">f+++++++++ helm/values/envoy-gateway-system/envoy-gateway.yaml",
                                "cd+++++++++ helm/values/kube-system/",
                                ">f+++++++++ helm/values/kube-system/cilium.yaml"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000010",
                        "name": "helm-release-status",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/helm-release-status"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:48.010602Z",
                            "start": "2026-09-25T02:22:47.395715Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000015",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/cluster",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/cluster",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/cluster",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:22:48.340344Z",
                            "start": "2026-09-25T02:22:48.032575Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000019",
                        "name": "creating directory for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:12.890652",
                            "end": "2026-09-25 02:23:01.606370",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace\nexport PARALLELISM_FACTOR=2\n\nfunction list_objects () {\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"$@\"' _ {}\n}\nexport -f list_objects\n\nfunction name_objects () {\n  export OBJECT=$1\n  kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${OBJECT} ${1#*/}\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export OBJECT=${input[0]}\n  export NAME=${input[1]#*/}\n  echo \"${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/cluster/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nlist_objects |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000001a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:22:48.715718",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nnode/controller\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nclusterrole/admin\nclusterrole/cilium\nclusterrole/cilium-operator\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nclusterrole/cluster-admin\nclusterrole/edit\nclusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system\nclusterrole/envoy-gateway-gateway-helm-envoy-gateway-role\nclusterrole/kubeadm:get-nodes\nclusterrole/secretgen-controller-cluster-role\nclusterrole/system:aggregate-to-admin\nclusterrole/system:aggregate-to-edit\nclusterrole/system:aggregate-to-view\nclusterrole/system:auth-delegator\nclusterrole/system:basic-user\nclusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient\nclusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient\nclusterrole/system:certificates.k8s.io:kube-apiserver-client-approver\nclusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver\nclusterrole/system:certificates.k8s.io:kubelet-serving-approver\nclusterrole/system:certificates.k8s.io:legacy-unknown-approver\nclusterrole/system:controller:attachdetach-controller\nclusterrole/system:controller:certificate-controller\nclusterrole/system:controller:clusterrole-aggregation-controller\nclusterrolebinding/cilium\nclusterrolebinding/cilium-operator\nclusterrole/system:controller:cronjob-controller\nclusterrolebinding/cluster-admin\nclusterrole/system:controller:daemon-set-controller\nclusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system\nclusterrole/system:controller:deployment-controller\nclusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding\nclusterrole/system:controller:disruption-controller\nclusterrolebinding/kubeadm:get-nodes\nclusterrole/system:controller:endpoint-controller\nclusterrolebinding/kubeadm:kubelet-bootstrap\nclusterrole/system:controller:endpointslice-controller\nclusterrolebinding/kubeadm:node-autoapprove-bootstrap\nclusterrole/system:controller:endpointslicemirroring-controller\nclusterrolebinding/kubeadm:node-autoapprove-certificate-rotation\nclusterrole/system:controller:ephemeral-volume-controller\nclusterrolebinding/kubeadm:node-proxier\nclusterrole/system:controller:expand-controller\nclusterrolebinding/secretgen-controller-cluster-role-binding\nclusterrole/system:controller:generic-garbage-collector\nclusterrolebinding/system:basic-user\nclusterrole/system:controller:horizontal-pod-autoscaler\nclusterrolebinding/system:controller:attachdetach-controller\nclusterrole/system:controller:job-controller\nclusterrolebinding/system:controller:certificate-controller\nclusterrole/system:controller:namespace-controller\nclusterrolebinding/system:controller:clusterrole-aggregation-controller\nclusterrolebinding/system:controller:cronjob-controller\nclusterrole/system:controller:node-controller\nclusterrolebinding/system:controller:daemon-set-controller\nclusterrole/system:controller:persistent-volume-binder\nclusterrolebinding/system:controller:deployment-controller\nclusterrole/system:controller:pod-garbage-collector\nclusterrolebinding/system:controller:disruption-controller\nclusterrole/system:controller:pv-protection-controller\nclusterrolebinding/system:controller:endpoint-controller\nclusterrole/system:controller:pvc-protection-controller\nclusterrolebinding/system:controller:endpointslice-controller\nclusterrole/system:controller:replicaset-controller\nclusterrolebinding/system:controller:endpointslicemirroring-controller\nclusterrolebinding/system:controller:ephemeral-volume-controller\nclusterrole/system:controller:replication-controller\nclusterrolebinding/system:controller:expand-controller\nclusterrole/system:controller:resourcequota-controller\nclusterrolebinding/system:controller:generic-garbage-collector\nclusterrole/system:controller:root-ca-cert-publisher\nclusterrolebinding/system:controller:horizontal-pod-autoscaler\nclusterrole/system:controller:route-controller\nclusterrolebinding/system:controller:job-controller\nclusterrole/system:controller:service-account-controller\nclusterrolebinding/system:controller:namespace-controller\nclusterrolebinding/system:controller:node-controller\nclusterrolebinding/system:controller:persistent-volume-binder\nclusterrole/system:controller:service-controller\nclusterrolebinding/system:controller:pod-garbage-collector\nclusterrole/system:controller:statefulset-controller\nclusterrolebinding/system:controller:pv-protection-controller\nclusterrolebinding/system:controller:pvc-protection-controller\nclusterrole/system:controller:ttl-after-finished-controller\nclusterrolebinding/system:controller:replicaset-controller\nclusterrole/system:controller:ttl-controller\nclusterrolebinding/system:controller:replication-controller\nclusterrolebinding/system:controller:resourcequota-controller\nclusterrole/system:coredns\nclusterrolebinding/system:controller:root-ca-cert-publisher\nclusterrole/system:discovery\nclusterrolebinding/system:controller:route-controller\nclusterrolebinding/system:controller:service-account-controller\nclusterrole/system:heapster\nclusterrolebinding/system:controller:service-controller\nclusterrole/system:kube-aggregator\nclusterrolebinding/system:controller:statefulset-controller\nclusterrolebinding/system:controller:ttl-after-finished-controller\nclusterrole/system:kube-controller-manager\nclusterrolebinding/system:controller:ttl-controller\nclusterrole/system:kube-dns\nclusterrolebinding/system:coredns\nclusterrole/system:kube-scheduler\nclusterrolebinding/system:discovery\nclusterrole/system:kubelet-api-admin\nclusterrolebinding/system:kube-controller-manager\nclusterrole/system:monitoring\nclusterrolebinding/system:kube-dns\nclusterrole/system:node\nclusterrole/system:node-bootstrapper\nclusterrolebinding/system:kube-scheduler\nclusterrole/system:node-problem-detector\nclusterrolebinding/system:monitoring\nclusterrole/system:node-proxier\nclusterrolebinding/system:node\nclusterrole/system:persistent-volume-provisioner\nclusterrolebinding/system:node-proxier\nclusterrole/system:public-info-viewer\nclusterrolebinding/system:public-info-viewer\nclusterrole/system:service-account-issuer-discovery\nclusterrolebinding/system:service-account-issuer-discovery\nclusterrole/system:volume-scheduler\nclusterrolebinding/system:volume-scheduler\nclusterrole/view\nnamespace/default\nnamespace/envoy-gateway-system\nnamespace/kube-node-lease\nnamespace/kube-public\nnamespace/kube-system\nnamespace/secretgen-controller",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "node/controller",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "clusterrole/admin",
                                "clusterrole/cilium",
                                "clusterrole/cilium-operator",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "clusterrole/cluster-admin",
                                "clusterrole/edit",
                                "clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system",
                                "clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role",
                                "clusterrole/kubeadm:get-nodes",
                                "clusterrole/secretgen-controller-cluster-role",
                                "clusterrole/system:aggregate-to-admin",
                                "clusterrole/system:aggregate-to-edit",
                                "clusterrole/system:aggregate-to-view",
                                "clusterrole/system:auth-delegator",
                                "clusterrole/system:basic-user",
                                "clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient",
                                "clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient",
                                "clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver",
                                "clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver",
                                "clusterrole/system:certificates.k8s.io:kubelet-serving-approver",
                                "clusterrole/system:certificates.k8s.io:legacy-unknown-approver",
                                "clusterrole/system:controller:attachdetach-controller",
                                "clusterrole/system:controller:certificate-controller",
                                "clusterrole/system:controller:clusterrole-aggregation-controller",
                                "clusterrolebinding/cilium",
                                "clusterrolebinding/cilium-operator",
                                "clusterrole/system:controller:cronjob-controller",
                                "clusterrolebinding/cluster-admin",
                                "clusterrole/system:controller:daemon-set-controller",
                                "clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system",
                                "clusterrole/system:controller:deployment-controller",
                                "clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding",
                                "clusterrole/system:controller:disruption-controller",
                                "clusterrolebinding/kubeadm:get-nodes",
                                "clusterrole/system:controller:endpoint-controller",
                                "clusterrolebinding/kubeadm:kubelet-bootstrap",
                                "clusterrole/system:controller:endpointslice-controller",
                                "clusterrolebinding/kubeadm:node-autoapprove-bootstrap",
                                "clusterrole/system:controller:endpointslicemirroring-controller",
                                "clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation",
                                "clusterrole/system:controller:ephemeral-volume-controller",
                                "clusterrolebinding/kubeadm:node-proxier",
                                "clusterrole/system:controller:expand-controller",
                                "clusterrolebinding/secretgen-controller-cluster-role-binding",
                                "clusterrole/system:controller:generic-garbage-collector",
                                "clusterrolebinding/system:basic-user",
                                "clusterrole/system:controller:horizontal-pod-autoscaler",
                                "clusterrolebinding/system:controller:attachdetach-controller",
                                "clusterrole/system:controller:job-controller",
                                "clusterrolebinding/system:controller:certificate-controller",
                                "clusterrole/system:controller:namespace-controller",
                                "clusterrolebinding/system:controller:clusterrole-aggregation-controller",
                                "clusterrolebinding/system:controller:cronjob-controller",
                                "clusterrole/system:controller:node-controller",
                                "clusterrolebinding/system:controller:daemon-set-controller",
                                "clusterrole/system:controller:persistent-volume-binder",
                                "clusterrolebinding/system:controller:deployment-controller",
                                "clusterrole/system:controller:pod-garbage-collector",
                                "clusterrolebinding/system:controller:disruption-controller",
                                "clusterrole/system:controller:pv-protection-controller",
                                "clusterrolebinding/system:controller:endpoint-controller",
                                "clusterrole/system:controller:pvc-protection-controller",
                                "clusterrolebinding/system:controller:endpointslice-controller",
                                "clusterrole/system:controller:replicaset-controller",
                                "clusterrolebinding/system:controller:endpointslicemirroring-controller",
                                "clusterrolebinding/system:controller:ephemeral-volume-controller",
                                "clusterrole/system:controller:replication-controller",
                                "clusterrolebinding/system:controller:expand-controller",
                                "clusterrole/system:controller:resourcequota-controller",
                                "clusterrolebinding/system:controller:generic-garbage-collector",
                                "clusterrole/system:controller:root-ca-cert-publisher",
                                "clusterrolebinding/system:controller:horizontal-pod-autoscaler",
                                "clusterrole/system:controller:route-controller",
                                "clusterrolebinding/system:controller:job-controller",
                                "clusterrole/system:controller:service-account-controller",
                                "clusterrolebinding/system:controller:namespace-controller",
                                "clusterrolebinding/system:controller:node-controller",
                                "clusterrolebinding/system:controller:persistent-volume-binder",
                                "clusterrole/system:controller:service-controller",
                                "clusterrolebinding/system:controller:pod-garbage-collector",
                                "clusterrole/system:controller:statefulset-controller",
                                "clusterrolebinding/system:controller:pv-protection-controller",
                                "clusterrolebinding/system:controller:pvc-protection-controller",
                                "clusterrole/system:controller:ttl-after-finished-controller",
                                "clusterrolebinding/system:controller:replicaset-controller",
                                "clusterrole/system:controller:ttl-controller",
                                "clusterrolebinding/system:controller:replication-controller",
                                "clusterrolebinding/system:controller:resourcequota-controller",
                                "clusterrole/system:coredns",
                                "clusterrolebinding/system:controller:root-ca-cert-publisher",
                                "clusterrole/system:discovery",
                                "clusterrolebinding/system:controller:route-controller",
                                "clusterrolebinding/system:controller:service-account-controller",
                                "clusterrole/system:heapster",
                                "clusterrolebinding/system:controller:service-controller",
                                "clusterrole/system:kube-aggregator",
                                "clusterrolebinding/system:controller:statefulset-controller",
                                "clusterrolebinding/system:controller:ttl-after-finished-controller",
                                "clusterrole/system:kube-controller-manager",
                                "clusterrolebinding/system:controller:ttl-controller",
                                "clusterrole/system:kube-dns",
                                "clusterrolebinding/system:coredns",
                                "clusterrole/system:kube-scheduler",
                                "clusterrolebinding/system:discovery",
                                "clusterrole/system:kubelet-api-admin",
                                "clusterrolebinding/system:kube-controller-manager",
                                "clusterrole/system:monitoring",
                                "clusterrolebinding/system:kube-dns",
                                "clusterrole/system:node",
                                "clusterrole/system:node-bootstrapper",
                                "clusterrolebinding/system:kube-scheduler",
                                "clusterrole/system:node-problem-detector",
                                "clusterrolebinding/system:monitoring",
                                "clusterrole/system:node-proxier",
                                "clusterrolebinding/system:node",
                                "clusterrole/system:persistent-volume-provisioner",
                                "clusterrolebinding/system:node-proxier",
                                "clusterrole/system:public-info-viewer",
                                "clusterrolebinding/system:public-info-viewer",
                                "clusterrole/system:service-account-issuer-discovery",
                                "clusterrolebinding/system:service-account-issuer-discovery",
                                "clusterrole/system:volume-scheduler",
                                "clusterrolebinding/system:volume-scheduler",
                                "clusterrole/view",
                                "namespace/default",
                                "namespace/envoy-gateway-system",
                                "namespace/kube-node-lease",
                                "namespace/kube-public",
                                "namespace/kube-system",
                                "namespace/secretgen-controller"
                            ],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000001a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:01.969525Z",
                            "start": "2026-09-25T02:22:48.441440Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000001a",
                        "name": "Gathering descriptions for cluster scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/objects/namespaced",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/objects/namespaced",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/objects/namespaced",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:02.254739Z",
                            "start": "2026-09-25T02:23:01.976931Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000001b",
                        "name": "creating directory for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                            "delta": "0:00:13.648020",
                            "end": "2026-09-25 02:23:16.182125",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nexport OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets\nexport PARALLELISM_FACTOR=2\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\n\nfunction list_namespaced_objects () {\n  export NAMESPACE=$1\n  printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} $@\"' _ {}\n}\nexport -f list_namespaced_objects\n\nfunction name_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo \"${NAMESPACE} ${OBJECT} $@\"' _ {}\n}\nexport -f name_objects\n\nfunction get_objects () {\n  input=($1)\n  export NAMESPACE=${input[0]}\n  export OBJECT=${input[1]}\n  export NAME=${input[2]#*/}\n  echo \"${NAMESPACE}/${OBJECT}/${NAME}\"\n  DIR=\"/tmp/logs/objects/namespaced/${NAMESPACE}/${OBJECT}\"\n  mkdir -p ${DIR}\n  kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > \"${DIR}/${NAME}.yaml\"\n  kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > \"${DIR}/${NAME}.txt\"\n}\nexport -f get_objects\n\nget_namespaces |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects \"$@\"' _ {} |  xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000001c-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:02.534105",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\nxargs: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value\n\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/configmaps/envoy-gateway-config\nenvoy-gateway-system/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/endpoints/kubernetes\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/deployment/envoy-gateway\nenvoy-gateway-system/endpoints/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/pods/envoy-gateway-78446f96c9-rtlkx\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen\nenvoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding\nenvoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager\nenvoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/secrets/test-password\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\ndefault/services/kubernetes\nenvoy-gateway-system/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/serviceaccounts/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/envoy\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/envoy-oidc-hmac\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\nenvoy-gateway-system/secrets/envoy-rate-limit\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nenvoy-gateway-system/services/envoy-gateway\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-node-lease/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/configmaps/cluster-info\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/rolebindings/system:controller:bootstrap-signer\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-node-lease/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/roles/kubeadm:bootstrap-signer-clusterinfo\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/roles/system:controller:bootstrap-signer\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-public/serviceaccounts/default\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/cilium-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/coredns\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/extension-apiserver-authentication\nkube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nerror: the server doesn't have a resource type \"podsecuritypolicies\"\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kube-proxy\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kube-root-ca.crt\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kubeadm-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/configmaps/kubelet-config\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/daemonsets/cilium\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nkube-system/daemonsets/kube-proxy\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nxargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value\nsecretgen-controller/configmaps/kube-root-ca.crt\nkube-system/deployment/cilium-operator\nkube-system/deployment/coredns\nkube-system/endpoints/kube-dns\nsecretgen-controller/deployment/secretgen-controller\nkube-system/pods/cilium-fk7vc\nkube-system/pods/cilium-operator-7fcd8d6ffd-vlg2m\nkube-system/pods/coredns-5dd5756b68-w6brt\nkube-system/pods/coredns-77cccfdc44-b75hj\nkube-system/pods/coredns-77cccfdc44-wzpjh\nkube-system/pods/etcd-controller\nkube-system/pods/kube-apiserver-controller\nkube-system/pods/kube-controller-manager-controller\nkube-system/pods/kube-proxy-vkrdf\nkube-system/pods/kube-scheduler-controller\nkube-system/pods/kube-vip-controller\nsecretgen-controller/pods/secretgen-controller-ffb97c6dc-hbtfr\nkube-system/rolebindings/cilium-config-agent\nkube-system/rolebindings/kube-proxy\nkube-system/rolebindings/kubeadm:kubeadm-certs\nkube-system/rolebindings/kubeadm:kubelet-config\nkube-system/rolebindings/kubeadm:nodes-kubeadm-config\nkube-system/rolebindings/system::extension-apiserver-authentication-reader\nkube-system/rolebindings/system::leader-locking-kube-controller-manager\nkube-system/rolebindings/system::leader-locking-kube-scheduler\nkube-system/rolebindings/system:controller:bootstrap-signer\nkube-system/rolebindings/system:controller:cloud-provider\nkube-system/rolebindings/system:controller:token-cleaner\nkube-system/roles/cilium-config-agent\nkube-system/roles/extension-apiserver-authentication-reader\nkube-system/roles/kube-proxy\nkube-system/roles/kubeadm:kubeadm-certs\nkube-system/roles/kubeadm:kubelet-config\nkube-system/roles/kubeadm:nodes-kubeadm-config\nkube-system/roles/system::leader-locking-kube-controller-manager\nkube-system/roles/system::leader-locking-kube-scheduler\nkube-system/roles/system:controller:bootstrap-signer\nkube-system/roles/system:controller:cloud-provider\nkube-system/roles/system:controller:token-cleaner\nkube-system/secrets/bootstrap-token-mkqdpn\nkube-system/secrets/bootstrap-token-vjrfwa\nkube-system/secrets/kubeadm-certs\nkube-system/secrets/sh.helm.release.v1.cilium.v1\nkube-system/serviceaccounts/attachdetach-controller\nkube-system/serviceaccounts/bootstrap-signer\nkube-system/serviceaccounts/certificate-controller\nkube-system/serviceaccounts/cilium\nkube-system/serviceaccounts/cilium-operator\nkube-system/serviceaccounts/clusterrole-aggregation-controller\nkube-system/serviceaccounts/coredns\nkube-system/serviceaccounts/cronjob-controller\nkube-system/serviceaccounts/daemon-set-controller\nkube-system/serviceaccounts/default\nkube-system/serviceaccounts/deployment-controller\nkube-system/serviceaccounts/disruption-controller\nkube-system/serviceaccounts/endpoint-controller\nkube-system/serviceaccounts/endpointslice-controller\nkube-system/serviceaccounts/endpointslicemirroring-controller\nkube-system/serviceaccounts/ephemeral-volume-controller\nkube-system/serviceaccounts/expand-controller\nkube-system/serviceaccounts/generic-garbage-collector\nkube-system/serviceaccounts/horizontal-pod-autoscaler\nkube-system/serviceaccounts/job-controller\nkube-system/serviceaccounts/kube-proxy\nkube-system/serviceaccounts/namespace-controller\nkube-system/serviceaccounts/node-controller\nkube-system/serviceaccounts/persistent-volume-binder\nkube-system/serviceaccounts/pod-garbage-collector\nkube-system/serviceaccounts/pv-protection-controller\nkube-system/serviceaccounts/pvc-protection-controller\nkube-system/serviceaccounts/replicaset-controller\nkube-system/serviceaccounts/replication-controller\nkube-system/serviceaccounts/resourcequota-controller\nkube-system/serviceaccounts/root-ca-cert-publisher\nkube-system/serviceaccounts/service-account-controller\nkube-system/serviceaccounts/service-controller\nkube-system/serviceaccounts/statefulset-controller\nkube-system/serviceaccounts/token-cleaner\nkube-system/serviceaccounts/ttl-after-finished-controller\nkube-system/serviceaccounts/ttl-controller\nsecretgen-controller/serviceaccounts/default\nsecretgen-controller/serviceaccounts/secretgen-controller-sa\nkube-system/services/kube-dns",
                            "stdout_lines": [
                                "xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "xargs: xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args valuewarning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value",
                                "",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/configmaps/envoy-gateway-config",
                                "envoy-gateway-system/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/endpoints/kubernetes",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/deployment/envoy-gateway",
                                "envoy-gateway-system/endpoints/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/pods/envoy-gateway-78446f96c9-rtlkx",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen",
                                "envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding",
                                "envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager",
                                "envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/secrets/test-password",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "default/services/kubernetes",
                                "envoy-gateway-system/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/serviceaccounts/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/envoy",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/envoy-oidc-hmac",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "envoy-gateway-system/secrets/envoy-rate-limit",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "envoy-gateway-system/services/envoy-gateway",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-node-lease/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/configmaps/cluster-info",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/rolebindings/system:controller:bootstrap-signer",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-node-lease/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/roles/kubeadm:bootstrap-signer-clusterinfo",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/roles/system:controller:bootstrap-signer",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-public/serviceaccounts/default",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/cilium-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/coredns",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/extension-apiserver-authentication",
                                "kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "error: the server doesn't have a resource type \"podsecuritypolicies\"",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kube-proxy",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kube-root-ca.crt",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kubeadm-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/configmaps/kubelet-config",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/daemonsets/cilium",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "kube-system/daemonsets/kube-proxy",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "xargs: warning: options --max-lines and --replace/-I/-i are mutually exclusive, ignoring previous --max-lines value",
                                "secretgen-controller/configmaps/kube-root-ca.crt",
                                "kube-system/deployment/cilium-operator",
                                "kube-system/deployment/coredns",
                                "kube-system/endpoints/kube-dns",
                                "secretgen-controller/deployment/secretgen-controller",
                                "kube-system/pods/cilium-fk7vc",
                                "kube-system/pods/cilium-operator-7fcd8d6ffd-vlg2m",
                                "kube-system/pods/coredns-5dd5756b68-w6brt",
                                "kube-system/pods/coredns-77cccfdc44-b75hj",
                                "kube-system/pods/coredns-77cccfdc44-wzpjh",
                                "kube-system/pods/etcd-controller",
                                "kube-system/pods/kube-apiserver-controller",
                                "kube-system/pods/kube-controller-manager-controller",
                                "kube-system/pods/kube-proxy-vkrdf",
                                "kube-system/pods/kube-scheduler-controller",
                                "kube-system/pods/kube-vip-controller",
                                "secretgen-controller/pods/secretgen-controller-ffb97c6dc-hbtfr",
                                "kube-system/rolebindings/cilium-config-agent",
                                "kube-system/rolebindings/kube-proxy",
                                "kube-system/rolebindings/kubeadm:kubeadm-certs",
                                "kube-system/rolebindings/kubeadm:kubelet-config",
                                "kube-system/rolebindings/kubeadm:nodes-kubeadm-config",
                                "kube-system/rolebindings/system::extension-apiserver-authentication-reader",
                                "kube-system/rolebindings/system::leader-locking-kube-controller-manager",
                                "kube-system/rolebindings/system::leader-locking-kube-scheduler",
                                "kube-system/rolebindings/system:controller:bootstrap-signer",
                                "kube-system/rolebindings/system:controller:cloud-provider",
                                "kube-system/rolebindings/system:controller:token-cleaner",
                                "kube-system/roles/cilium-config-agent",
                                "kube-system/roles/extension-apiserver-authentication-reader",
                                "kube-system/roles/kube-proxy",
                                "kube-system/roles/kubeadm:kubeadm-certs",
                                "kube-system/roles/kubeadm:kubelet-config",
                                "kube-system/roles/kubeadm:nodes-kubeadm-config",
                                "kube-system/roles/system::leader-locking-kube-controller-manager",
                                "kube-system/roles/system::leader-locking-kube-scheduler",
                                "kube-system/roles/system:controller:bootstrap-signer",
                                "kube-system/roles/system:controller:cloud-provider",
                                "kube-system/roles/system:controller:token-cleaner",
                                "kube-system/secrets/bootstrap-token-mkqdpn",
                                "kube-system/secrets/bootstrap-token-vjrfwa",
                                "kube-system/secrets/kubeadm-certs",
                                "kube-system/secrets/sh.helm.release.v1.cilium.v1",
                                "kube-system/serviceaccounts/attachdetach-controller",
                                "kube-system/serviceaccounts/bootstrap-signer",
                                "kube-system/serviceaccounts/certificate-controller",
                                "kube-system/serviceaccounts/cilium",
                                "kube-system/serviceaccounts/cilium-operator",
                                "kube-system/serviceaccounts/clusterrole-aggregation-controller",
                                "kube-system/serviceaccounts/coredns",
                                "kube-system/serviceaccounts/cronjob-controller",
                                "kube-system/serviceaccounts/daemon-set-controller",
                                "kube-system/serviceaccounts/default",
                                "kube-system/serviceaccounts/deployment-controller",
                                "kube-system/serviceaccounts/disruption-controller",
                                "kube-system/serviceaccounts/endpoint-controller",
                                "kube-system/serviceaccounts/endpointslice-controller",
                                "kube-system/serviceaccounts/endpointslicemirroring-controller",
                                "kube-system/serviceaccounts/ephemeral-volume-controller",
                                "kube-system/serviceaccounts/expand-controller",
                                "kube-system/serviceaccounts/generic-garbage-collector",
                                "kube-system/serviceaccounts/horizontal-pod-autoscaler",
                                "kube-system/serviceaccounts/job-controller",
                                "kube-system/serviceaccounts/kube-proxy",
                                "kube-system/serviceaccounts/namespace-controller",
                                "kube-system/serviceaccounts/node-controller",
                                "kube-system/serviceaccounts/persistent-volume-binder",
                                "kube-system/serviceaccounts/pod-garbage-collector",
                                "kube-system/serviceaccounts/pv-protection-controller",
                                "kube-system/serviceaccounts/pvc-protection-controller",
                                "kube-system/serviceaccounts/replicaset-controller",
                                "kube-system/serviceaccounts/replication-controller",
                                "kube-system/serviceaccounts/resourcequota-controller",
                                "kube-system/serviceaccounts/root-ca-cert-publisher",
                                "kube-system/serviceaccounts/service-account-controller",
                                "kube-system/serviceaccounts/service-controller",
                                "kube-system/serviceaccounts/statefulset-controller",
                                "kube-system/serviceaccounts/token-cleaner",
                                "kube-system/serviceaccounts/ttl-after-finished-controller",
                                "kube-system/serviceaccounts/ttl-controller",
                                "secretgen-controller/serviceaccounts/default",
                                "secretgen-controller/serviceaccounts/secretgen-controller-sa",
                                "kube-system/services/kube-dns"
                            ],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000001c-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:16.331993Z",
                            "start": "2026-09-25T02:23:02.299168Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000001c",
                        "name": "Gathering descriptions for namespace scoped objects"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/tmp/logs/objects /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.208:/tmp/logs/objects",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ objects/\ncd+++++++++ objects/cluster/\ncd+++++++++ objects/cluster/clusterrole/\n>f+++++++++ objects/cluster/clusterrole/admin.txt\n>f+++++++++ objects/cluster/clusterrole/admin.yaml\n>f+++++++++ objects/cluster/clusterrole/cilium-operator.txt\n>f+++++++++ objects/cluster/clusterrole/cilium-operator.yaml\n>f+++++++++ objects/cluster/clusterrole/cilium.txt\n>f+++++++++ objects/cluster/clusterrole/cilium.yaml\n>f+++++++++ objects/cluster/clusterrole/cluster-admin.txt\n>f+++++++++ objects/cluster/clusterrole/cluster-admin.yaml\n>f+++++++++ objects/cluster/clusterrole/edit.txt\n>f+++++++++ objects/cluster/clusterrole/edit.yaml\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.txt\n>f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.yaml\n>f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.txt\n>f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.yaml\n>f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.txt\n>f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.yaml\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.txt\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.yaml\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.txt\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.yaml\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.txt\n>f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.yaml\n>f+++++++++ objects/cluster/clusterrole/system:auth-delegator.txt\n>f+++++++++ objects/cluster/clusterrole/system:auth-delegator.yaml\n>f+++++++++ objects/cluster/clusterrole/system:basic-user.txt\n>f+++++++++ objects/cluster/clusterrole/system:basic-user.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.txt\n>f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.txt\n>f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.yaml\n>f+++++++++ objects/cluster/clusterrole/system:coredns.txt\n>f+++++++++ objects/cluster/clusterrole/system:coredns.yaml\n>f+++++++++ objects/cluster/clusterrole/system:discovery.txt\n>f+++++++++ objects/cluster/clusterrole/system:discovery.yaml\n>f+++++++++ objects/cluster/clusterrole/system:heapster.txt\n>f+++++++++ objects/cluster/clusterrole/system:heapster.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-dns.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-dns.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.txt\n>f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.yaml\n>f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.txt\n>f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.yaml\n>f+++++++++ objects/cluster/clusterrole/system:monitoring.txt\n>f+++++++++ objects/cluster/clusterrole/system:monitoring.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.txt\n>f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.txt\n>f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node-proxier.txt\n>f+++++++++ objects/cluster/clusterrole/system:node-proxier.yaml\n>f+++++++++ objects/cluster/clusterrole/system:node.txt\n>f+++++++++ objects/cluster/clusterrole/system:node.yaml\n>f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.txt\n>f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.yaml\n>f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.txt\n>f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.yaml\n>f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.txt\n>f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.yaml\n>f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.txt\n>f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.yaml\n>f+++++++++ objects/cluster/clusterrole/view.txt\n>f+++++++++ objects/cluster/clusterrole/view.yaml\ncd+++++++++ objects/cluster/clusterrolebinding/\n>f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.txt\n>f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/cilium.txt\n>f+++++++++ objects/cluster/clusterrolebinding/cilium.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.txt\n>f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.txt\n>f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.txt\n>f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.txt\n>f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:coredns.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:coredns.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:discovery.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:discovery.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:node.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:node.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.yaml\n>f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.txt\n>f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.yaml\ncd+++++++++ objects/cluster/namespace/\n>f+++++++++ objects/cluster/namespace/default.txt\n>f+++++++++ objects/cluster/namespace/default.yaml\n>f+++++++++ objects/cluster/namespace/envoy-gateway-system.txt\n>f+++++++++ objects/cluster/namespace/envoy-gateway-system.yaml\n>f+++++++++ objects/cluster/namespace/kube-node-lease.txt\n>f+++++++++ objects/cluster/namespace/kube-node-lease.yaml\n>f+++++++++ objects/cluster/namespace/kube-public.txt\n>f+++++++++ objects/cluster/namespace/kube-public.yaml\n>f+++++++++ objects/cluster/namespace/kube-system.txt\n>f+++++++++ objects/cluster/namespace/kube-system.yaml\n>f+++++++++ objects/cluster/namespace/secretgen-controller.txt\n>f+++++++++ objects/cluster/namespace/secretgen-controller.yaml\ncd+++++++++ objects/cluster/node/\n>f+++++++++ objects/cluster/node/controller.txt\n>f+++++++++ objects/cluster/node/controller.yaml\ncd+++++++++ objects/namespaced/\ncd+++++++++ objects/namespaced/default/\ncd+++++++++ objects/namespaced/default/configmaps/\n>f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/default/endpoints/\n>f+++++++++ objects/namespaced/default/endpoints/kubernetes.txt\n>f+++++++++ objects/namespaced/default/endpoints/kubernetes.yaml\ncd+++++++++ objects/namespaced/default/secrets/\n>f+++++++++ objects/namespaced/default/secrets/test-password.txt\n>f+++++++++ objects/namespaced/default/secrets/test-password.yaml\ncd+++++++++ objects/namespaced/default/serviceaccounts/\n>f+++++++++ objects/namespaced/default/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/default/serviceaccounts/default.yaml\ncd+++++++++ objects/namespaced/default/services/\n>f+++++++++ objects/namespaced/default/services/kubernetes.txt\n>f+++++++++ objects/namespaced/default/services/kubernetes.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/\ncd+++++++++ objects/namespaced/envoy-gateway-system/configmaps/\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/deployment/\n>f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/endpoints/\n>f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/pods/\n>f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-rtlkx.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-rtlkx.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/roles/\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/secrets/\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.yaml\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/envoy-gateway-system/services/\n>f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.txt\n>f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.yaml\ncd+++++++++ objects/namespaced/kube-node-lease/\ncd+++++++++ objects/namespaced/kube-node-lease/configmaps/\n>f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/\n>f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.yaml\ncd+++++++++ objects/namespaced/kube-public/\ncd+++++++++ objects/namespaced/kube-public/configmaps/\n>f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.txt\n>f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.yaml\n>f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/kube-public/rolebindings/\n>f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.txt\n>f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.yaml\n>f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.yaml\ncd+++++++++ objects/namespaced/kube-public/roles/\n>f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.txt\n>f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.yaml\n>f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.yaml\ncd+++++++++ objects/namespaced/kube-public/serviceaccounts/\n>f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.yaml\ncd+++++++++ objects/namespaced/kube-system/\ncd+++++++++ objects/namespaced/kube-system/configmaps/\n>f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/coredns.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/coredns.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.yaml\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.txt\n>f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.yaml\ncd+++++++++ objects/namespaced/kube-system/daemonsets/\n>f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.txt\n>f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.yaml\n>f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.yaml\ncd+++++++++ objects/namespaced/kube-system/deployment/\n>f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.txt\n>f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.yaml\n>f+++++++++ objects/namespaced/kube-system/deployment/coredns.txt\n>f+++++++++ objects/namespaced/kube-system/deployment/coredns.yaml\ncd+++++++++ objects/namespaced/kube-system/endpoints/\n>f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.txt\n>f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.yaml\ncd+++++++++ objects/namespaced/kube-system/pods/\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-fk7vc.txt\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-fk7vc.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-vlg2m.txt\n>f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-vlg2m.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-w6brt.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-w6brt.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b75hj.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b75hj.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-wzpjh.txt\n>f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-wzpjh.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-vkrdf.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-vkrdf.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.txt\n>f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.yaml\ncd+++++++++ objects/namespaced/kube-system/rolebindings/\n>f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.yaml\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.txt\n>f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.yaml\ncd+++++++++ objects/namespaced/kube-system/roles/\n>f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.txt\n>f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.txt\n>f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.txt\n>f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.yaml\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.txt\n>f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.yaml\ncd+++++++++ objects/namespaced/kube-system/secrets/\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-mkqdpn.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-mkqdpn.yaml\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-vjrfwa.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-vjrfwa.yaml\n>f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.yaml\n>f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.txt\n>f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.yaml\ncd+++++++++ objects/namespaced/kube-system/serviceaccounts/\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.yaml\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.txt\n>f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.yaml\ncd+++++++++ objects/namespaced/kube-system/services/\n>f+++++++++ objects/namespaced/kube-system/services/kube-dns.txt\n>f+++++++++ objects/namespaced/kube-system/services/kube-dns.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/\ncd+++++++++ objects/namespaced/secretgen-controller/configmaps/\n>f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.txt\n>f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/deployment/\n>f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.txt\n>f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/pods/\n>f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-hbtfr.txt\n>f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-hbtfr.yaml\ncd+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.txt\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.yaml\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.txt\n>f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.yaml\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ objects/",
                                "cd+++++++++ objects/cluster/",
                                "cd+++++++++ objects/cluster/clusterrole/",
                                ">f+++++++++ objects/cluster/clusterrole/admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/cilium-operator.txt",
                                ">f+++++++++ objects/cluster/clusterrole/cilium-operator.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/cilium.txt",
                                ">f+++++++++ objects/cluster/clusterrole/cilium.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/cluster-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/cluster-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/edit.txt",
                                ">f+++++++++ objects/cluster/clusterrole/edit.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.txt",
                                ">f+++++++++ objects/cluster/clusterrole/envoy-gateway-gateway-helm-envoy-gateway-role.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.txt",
                                ">f+++++++++ objects/cluster/clusterrole/kubeadm:get-nodes.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.txt",
                                ">f+++++++++ objects/cluster/clusterrole/secretgen-controller-cluster-role.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-edit.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:aggregate-to-view.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:auth-delegator.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:auth-delegator.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:basic-user.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:basic-user.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:nodeclient.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:certificatesigningrequests:selfnodeclient.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kube-apiserver-client-kubelet-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:kubelet-serving-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:certificates.k8s.io:legacy-unknown-approver.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:attachdetach-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:certificate-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:clusterrole-aggregation-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:cronjob-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:daemon-set-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:deployment-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:disruption-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpoint-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslice-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:endpointslicemirroring-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ephemeral-volume-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:expand-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:generic-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:horizontal-pod-autoscaler.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:job-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:namespace-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:node-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:persistent-volume-binder.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pod-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pv-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:pvc-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replicaset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:replication-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:resourcequota-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:root-ca-cert-publisher.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:route-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-account-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:service-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:statefulset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-after-finished-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:controller:ttl-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:coredns.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:coredns.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:heapster.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:heapster.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-aggregator.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-controller-manager.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-dns.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-dns.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kube-scheduler.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:kubelet-api-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:monitoring.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:monitoring.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-bootstrapper.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-problem-detector.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-proxier.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node-proxier.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:node.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:node.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:persistent-volume-provisioner.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:public-info-viewer.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:service-account-issuer-discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrole/system:volume-scheduler.yaml",
                                ">f+++++++++ objects/cluster/clusterrole/view.txt",
                                ">f+++++++++ objects/cluster/clusterrole/view.yaml",
                                "cd+++++++++ objects/cluster/clusterrolebinding/",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium-operator.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cilium.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/cluster-admin.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-certgen:envoy-gateway-system.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/envoy-gateway-gateway-helm-envoy-gateway-rolebinding.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:get-nodes.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:kubelet-bootstrap.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-bootstrap.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-autoapprove-certificate-rotation.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/kubeadm:node-proxier.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/secretgen-controller-cluster-role-binding.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:basic-user.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:attachdetach-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:certificate-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:clusterrole-aggregation-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:cronjob-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:daemon-set-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:deployment-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:disruption-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpoint-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslice-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:endpointslicemirroring-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ephemeral-volume-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:expand-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:generic-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:horizontal-pod-autoscaler.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:job-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:namespace-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:node-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:persistent-volume-binder.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pod-garbage-collector.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pv-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:pvc-protection-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replicaset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:replication-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:resourcequota-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:root-ca-cert-publisher.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:route-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-account-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:service-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:statefulset-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-after-finished-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:controller:ttl-controller.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:coredns.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:coredns.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-controller-manager.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-dns.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:kube-scheduler.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:monitoring.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node-proxier.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:node.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:public-info-viewer.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:service-account-issuer-discovery.yaml",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.txt",
                                ">f+++++++++ objects/cluster/clusterrolebinding/system:volume-scheduler.yaml",
                                "cd+++++++++ objects/cluster/namespace/",
                                ">f+++++++++ objects/cluster/namespace/default.txt",
                                ">f+++++++++ objects/cluster/namespace/default.yaml",
                                ">f+++++++++ objects/cluster/namespace/envoy-gateway-system.txt",
                                ">f+++++++++ objects/cluster/namespace/envoy-gateway-system.yaml",
                                ">f+++++++++ objects/cluster/namespace/kube-node-lease.txt",
                                ">f+++++++++ objects/cluster/namespace/kube-node-lease.yaml",
                                ">f+++++++++ objects/cluster/namespace/kube-public.txt",
                                ">f+++++++++ objects/cluster/namespace/kube-public.yaml",
                                ">f+++++++++ objects/cluster/namespace/kube-system.txt",
                                ">f+++++++++ objects/cluster/namespace/kube-system.yaml",
                                ">f+++++++++ objects/cluster/namespace/secretgen-controller.txt",
                                ">f+++++++++ objects/cluster/namespace/secretgen-controller.yaml",
                                "cd+++++++++ objects/cluster/node/",
                                ">f+++++++++ objects/cluster/node/controller.txt",
                                ">f+++++++++ objects/cluster/node/controller.yaml",
                                "cd+++++++++ objects/namespaced/",
                                "cd+++++++++ objects/namespaced/default/",
                                "cd+++++++++ objects/namespaced/default/configmaps/",
                                ">f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/default/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/default/endpoints/",
                                ">f+++++++++ objects/namespaced/default/endpoints/kubernetes.txt",
                                ">f+++++++++ objects/namespaced/default/endpoints/kubernetes.yaml",
                                "cd+++++++++ objects/namespaced/default/secrets/",
                                ">f+++++++++ objects/namespaced/default/secrets/test-password.txt",
                                ">f+++++++++ objects/namespaced/default/secrets/test-password.yaml",
                                "cd+++++++++ objects/namespaced/default/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/default/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/default/serviceaccounts/default.yaml",
                                "cd+++++++++ objects/namespaced/default/services/",
                                ">f+++++++++ objects/namespaced/default/services/kubernetes.txt",
                                ">f+++++++++ objects/namespaced/default/services/kubernetes.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/configmaps/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/envoy-gateway-config.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/deployment/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/deployment/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/endpoints/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/endpoints/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/pods/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-rtlkx.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/pods/envoy-gateway-78446f96c9-rtlkx.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-certgen.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-infra-manager.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/rolebindings/envoy-gateway-gateway-helm-leader-election-rolebinding.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/roles/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-certgen.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-infra-manager.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/roles/envoy-gateway-gateway-helm-leader-election-role.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/secrets/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-gateway.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-oidc-hmac.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy-rate-limit.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/envoy.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/secrets/sh.helm.release.v1.envoy-gateway.v1.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/default.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway-gateway-helm-certgen.yaml",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/serviceaccounts/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/envoy-gateway-system/services/",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.txt",
                                ">f+++++++++ objects/namespaced/envoy-gateway-system/services/envoy-gateway.yaml",
                                "cd+++++++++ objects/namespaced/kube-node-lease/",
                                "cd+++++++++ objects/namespaced/kube-node-lease/configmaps/",
                                ">f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/kube-node-lease/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/kube-node-lease/serviceaccounts/default.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/",
                                "cd+++++++++ objects/namespaced/kube-public/configmaps/",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.txt",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/cluster-info.yaml",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/kube-public/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/rolebindings/",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.txt",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/kubeadm:bootstrap-signer-clusterinfo.yaml",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-public/rolebindings/system:controller:bootstrap-signer.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/roles/",
                                ">f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.txt",
                                ">f+++++++++ objects/namespaced/kube-public/roles/kubeadm:bootstrap-signer-clusterinfo.yaml",
                                ">f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-public/roles/system:controller:bootstrap-signer.yaml",
                                "cd+++++++++ objects/namespaced/kube-public/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/kube-public/serviceaccounts/default.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/",
                                "cd+++++++++ objects/namespaced/kube-system/configmaps/",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/cilium-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/coredns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/coredns.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/extension-apiserver-authentication.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-apiserver-legacy-service-account-token-tracking.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kube-root-ca.crt.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubeadm-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/configmaps/kubelet-config.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/daemonsets/",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.txt",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/cilium.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/daemonsets/kube-proxy.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/deployment/",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.txt",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/cilium-operator.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/coredns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/deployment/coredns.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/endpoints/",
                                ">f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/endpoints/kube-dns.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/pods/",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-fk7vc.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-fk7vc.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-vlg2m.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/cilium-operator-7fcd8d6ffd-vlg2m.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-w6brt.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-5dd5756b68-w6brt.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b75hj.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-b75hj.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-wzpjh.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/coredns-77cccfdc44-wzpjh.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/etcd-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-apiserver-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-controller-manager-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-vkrdf.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-proxy-vkrdf.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-scheduler-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/pods/kube-vip-controller.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/rolebindings/",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/cilium-config-agent.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubeadm-certs.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:kubelet-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/kubeadm:nodes-kubeadm-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::extension-apiserver-authentication-reader.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-controller-manager.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system::leader-locking-kube-scheduler.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:bootstrap-signer.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:cloud-provider.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.txt",
                                ">f+++++++++ objects/namespaced/kube-system/rolebindings/system:controller:token-cleaner.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/roles/",
                                ">f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/cilium-config-agent.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/extension-apiserver-authentication-reader.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubeadm-certs.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:kubelet-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/kubeadm:nodes-kubeadm-config.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-controller-manager.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system::leader-locking-kube-scheduler.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:bootstrap-signer.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:cloud-provider.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.txt",
                                ">f+++++++++ objects/namespaced/kube-system/roles/system:controller:token-cleaner.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/secrets/",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-mkqdpn.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-mkqdpn.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-vjrfwa.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/bootstrap-token-vjrfwa.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/kubeadm-certs.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.txt",
                                ">f+++++++++ objects/namespaced/kube-system/secrets/sh.helm.release.v1.cilium.v1.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/attachdetach-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/bootstrap-signer.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/certificate-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium-operator.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cilium.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/clusterrole-aggregation-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/coredns.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/cronjob-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/daemon-set-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/default.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/deployment-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/disruption-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpoint-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslice-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/endpointslicemirroring-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ephemeral-volume-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/expand-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/generic-garbage-collector.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/horizontal-pod-autoscaler.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/job-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/kube-proxy.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/namespace-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/node-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/persistent-volume-binder.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pod-garbage-collector.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pv-protection-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/pvc-protection-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replicaset-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/replication-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/resourcequota-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/root-ca-cert-publisher.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-account-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/service-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/statefulset-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/token-cleaner.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-after-finished-controller.yaml",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.txt",
                                ">f+++++++++ objects/namespaced/kube-system/serviceaccounts/ttl-controller.yaml",
                                "cd+++++++++ objects/namespaced/kube-system/services/",
                                ">f+++++++++ objects/namespaced/kube-system/services/kube-dns.txt",
                                ">f+++++++++ objects/namespaced/kube-system/services/kube-dns.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/",
                                "cd+++++++++ objects/namespaced/secretgen-controller/configmaps/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/configmaps/kube-root-ca.crt.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/deployment/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/deployment/secretgen-controller.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/pods/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-hbtfr.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/pods/secretgen-controller-ffb97c6dc-hbtfr.yaml",
                                "cd+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/default.yaml",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.txt",
                                ">f+++++++++ objects/namespaced/secretgen-controller/serviceaccounts/secretgen-controller-sa.yaml"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000017",
                        "name": "describe-kubernetes-objects",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/describe-kubernetes-objects"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:17.040823Z",
                            "start": "2026-09-25T02:23:16.343559Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000001d",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:17.312356Z",
                            "start": "2026-09-25T02:23:17.053931Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000021",
                        "name": "creating directory for pod logs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/pod-logs/failed-pods",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/pod-logs/failed-pods",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:17.632885Z",
                            "start": "2026-09-25T02:23:17.322874Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000022",
                        "name": "creating directory for failed pod logs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                            "delta": "0:00:07.415629",
                            "end": "2026-09-25 02:23:25.351147",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nfunction get_namespaces () {\n  kubectl get namespaces -o name | awk -F '/' '{ print $NF }'\n}\nfunction get_pods () {\n  NAMESPACE=$1\n  kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -I {} echo ${NAMESPACE} {}\n}\nexport -f get_pods\nfunction get_pod_logs () {\n  NAMESPACE=${1% *}\n  POD=${1#* }\n  INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name')\n  CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name')\n  for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do\n    echo \"${NAMESPACE}/${POD}/${CONTAINER}\"\n    mkdir -p \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}\"\n    mkdir -p \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}\"\n    kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n    kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > \"/tmp/logs/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt\"\n  done\n}\nexport -f get_pod_logs\nget_namespaces |  xargs -r -I {} bash -c 'get_pods \"$@\"' _ {} |  xargs -r -I {} bash -c 'get_pod_logs \"$@\"' _ {}",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000023-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 123,
                            "start": "2026-09-25 02:23:17.935518",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/envoy-gateway\nError from server (BadRequest): previous terminated container \"envoy-gateway\" in pod \"envoy-gateway-78446f96c9-rtlkx\" not found\nkube-system/cilium-fk7vc/config\nError from server (BadRequest): previous terminated container \"config\" in pod \"cilium-fk7vc\" not found\nkube-system/cilium-fk7vc/mount-cgroup\nError from server (BadRequest): previous terminated container \"mount-cgroup\" in pod \"cilium-fk7vc\" not found\nkube-system/cilium-fk7vc/apply-sysctl-overwrites\nError from server (BadRequest): previous terminated container \"apply-sysctl-overwrites\" in pod \"cilium-fk7vc\" not found\nkube-system/cilium-fk7vc/mount-bpf-fs\nError from server (BadRequest): previous terminated container \"mount-bpf-fs\" in pod \"cilium-fk7vc\" not found\nkube-system/cilium-fk7vc/clean-cilium-state\nError from server (BadRequest): previous terminated container \"clean-cilium-state\" in pod \"cilium-fk7vc\" not found\nkube-system/cilium-fk7vc/install-cni-binaries\nError from server (BadRequest): previous terminated container \"install-cni-binaries\" in pod \"cilium-fk7vc\" not found\nkube-system/cilium-fk7vc/cilium-agent\nError from server (BadRequest): previous terminated container \"cilium-agent\" in pod \"cilium-fk7vc\" not found\nkube-system/cilium-operator-7fcd8d6ffd-vlg2m/cilium-operator\nError from server (BadRequest): previous terminated container \"cilium-operator\" in pod \"cilium-operator-7fcd8d6ffd-vlg2m\" not found\nkube-system/coredns-5dd5756b68-w6brt/coredns\nError from server (BadRequest): previous terminated container \"coredns\" in pod \"coredns-5dd5756b68-w6brt\" not found\nkube-system/coredns-77cccfdc44-b75hj/coredns\nkube-system/coredns-77cccfdc44-wzpjh/coredns\nkube-system/etcd-controller/etcd\nError from server (BadRequest): previous terminated container \"etcd\" in pod \"etcd-controller\" not found\nkube-system/kube-apiserver-controller/kube-apiserver\nError from server (BadRequest): previous terminated container \"kube-apiserver\" in pod \"kube-apiserver-controller\" not found\nkube-system/kube-controller-manager-controller/kube-controller-manager\nError from server (BadRequest): previous terminated container \"kube-controller-manager\" in pod \"kube-controller-manager-controller\" not found\nkube-system/kube-proxy-vkrdf/kube-proxy\nError from server (BadRequest): previous terminated container \"kube-proxy\" in pod \"kube-proxy-vkrdf\" not found\nkube-system/kube-scheduler-controller/kube-scheduler\nError from server (BadRequest): previous terminated container \"kube-scheduler\" in pod \"kube-scheduler-controller\" not found\nkube-system/kube-vip-controller/kube-vip\nError from server (BadRequest): previous terminated container \"kube-vip\" in pod \"kube-vip-controller\" not found\nsecretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/secretgen-controller\nError from server (BadRequest): previous terminated container \"secretgen-controller\" in pod \"secretgen-controller-ffb97c6dc-hbtfr\" not found",
                            "stdout_lines": [
                                "envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/envoy-gateway",
                                "Error from server (BadRequest): previous terminated container \"envoy-gateway\" in pod \"envoy-gateway-78446f96c9-rtlkx\" not found",
                                "kube-system/cilium-fk7vc/config",
                                "Error from server (BadRequest): previous terminated container \"config\" in pod \"cilium-fk7vc\" not found",
                                "kube-system/cilium-fk7vc/mount-cgroup",
                                "Error from server (BadRequest): previous terminated container \"mount-cgroup\" in pod \"cilium-fk7vc\" not found",
                                "kube-system/cilium-fk7vc/apply-sysctl-overwrites",
                                "Error from server (BadRequest): previous terminated container \"apply-sysctl-overwrites\" in pod \"cilium-fk7vc\" not found",
                                "kube-system/cilium-fk7vc/mount-bpf-fs",
                                "Error from server (BadRequest): previous terminated container \"mount-bpf-fs\" in pod \"cilium-fk7vc\" not found",
                                "kube-system/cilium-fk7vc/clean-cilium-state",
                                "Error from server (BadRequest): previous terminated container \"clean-cilium-state\" in pod \"cilium-fk7vc\" not found",
                                "kube-system/cilium-fk7vc/install-cni-binaries",
                                "Error from server (BadRequest): previous terminated container \"install-cni-binaries\" in pod \"cilium-fk7vc\" not found",
                                "kube-system/cilium-fk7vc/cilium-agent",
                                "Error from server (BadRequest): previous terminated container \"cilium-agent\" in pod \"cilium-fk7vc\" not found",
                                "kube-system/cilium-operator-7fcd8d6ffd-vlg2m/cilium-operator",
                                "Error from server (BadRequest): previous terminated container \"cilium-operator\" in pod \"cilium-operator-7fcd8d6ffd-vlg2m\" not found",
                                "kube-system/coredns-5dd5756b68-w6brt/coredns",
                                "Error from server (BadRequest): previous terminated container \"coredns\" in pod \"coredns-5dd5756b68-w6brt\" not found",
                                "kube-system/coredns-77cccfdc44-b75hj/coredns",
                                "kube-system/coredns-77cccfdc44-wzpjh/coredns",
                                "kube-system/etcd-controller/etcd",
                                "Error from server (BadRequest): previous terminated container \"etcd\" in pod \"etcd-controller\" not found",
                                "kube-system/kube-apiserver-controller/kube-apiserver",
                                "Error from server (BadRequest): previous terminated container \"kube-apiserver\" in pod \"kube-apiserver-controller\" not found",
                                "kube-system/kube-controller-manager-controller/kube-controller-manager",
                                "Error from server (BadRequest): previous terminated container \"kube-controller-manager\" in pod \"kube-controller-manager-controller\" not found",
                                "kube-system/kube-proxy-vkrdf/kube-proxy",
                                "Error from server (BadRequest): previous terminated container \"kube-proxy\" in pod \"kube-proxy-vkrdf\" not found",
                                "kube-system/kube-scheduler-controller/kube-scheduler",
                                "Error from server (BadRequest): previous terminated container \"kube-scheduler\" in pod \"kube-scheduler-controller\" not found",
                                "kube-system/kube-vip-controller/kube-vip",
                                "Error from server (BadRequest): previous terminated container \"kube-vip\" in pod \"kube-vip-controller\" not found",
                                "secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/secretgen-controller",
                                "Error from server (BadRequest): previous terminated container \"secretgen-controller\" in pod \"secretgen-controller-ffb97c6dc-hbtfr\" not found"
                            ],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000023-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:25.703112Z",
                            "start": "2026-09-25T02:23:17.675219Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000023",
                        "name": "retrieve all kubernetes logs, current and previous (if they exist)"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/tmp/logs/pod-logs /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.208:/tmp/logs/pod-logs",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ pod-logs/\ncd+++++++++ pod-logs/envoy-gateway-system/\ncd+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/\n>f+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/envoy-gateway.txt\ncd+++++++++ pod-logs/failed-pods/\ncd+++++++++ pod-logs/failed-pods/envoy-gateway-system/\ncd+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/\n>f+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/envoy-gateway.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/\ncd+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/apply-sysctl-overwrites.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/cilium-agent.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/clean-cilium-state.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/config.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/install-cni-binaries.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/mount-bpf-fs.txt\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/mount-cgroup.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/\n>f+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/cilium-operator.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-w6brt/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-w6brt/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b75hj/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b75hj/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-wzpjh/\n>f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-wzpjh/coredns.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/etcd.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/kube-apiserver.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/kube-controller-manager.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-vkrdf/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-vkrdf/kube-proxy.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/kube-scheduler.txt\ncd+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/\n>f+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/kube-vip.txt\ncd+++++++++ pod-logs/failed-pods/secretgen-controller/\ncd+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/\n>f+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/secretgen-controller.txt\ncd+++++++++ pod-logs/kube-system/\ncd+++++++++ pod-logs/kube-system/cilium-fk7vc/\n>f+++++++++ pod-logs/kube-system/cilium-fk7vc/apply-sysctl-overwrites.txt\n>f+++++++++ pod-logs/kube-system/cilium-fk7vc/cilium-agent.txt\n>f+++++++++ pod-logs/kube-system/cilium-fk7vc/clean-cilium-state.txt\n>f+++++++++ pod-logs/kube-system/cilium-fk7vc/config.txt\n>f+++++++++ pod-logs/kube-system/cilium-fk7vc/install-cni-binaries.txt\n>f+++++++++ pod-logs/kube-system/cilium-fk7vc/mount-bpf-fs.txt\n>f+++++++++ pod-logs/kube-system/cilium-fk7vc/mount-cgroup.txt\ncd+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/\n>f+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/cilium-operator.txt\ncd+++++++++ pod-logs/kube-system/coredns-5dd5756b68-w6brt/\n>f+++++++++ pod-logs/kube-system/coredns-5dd5756b68-w6brt/coredns.txt\ncd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b75hj/\n>f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b75hj/coredns.txt\ncd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-wzpjh/\n>f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-wzpjh/coredns.txt\ncd+++++++++ pod-logs/kube-system/etcd-controller/\n>f+++++++++ pod-logs/kube-system/etcd-controller/etcd.txt\ncd+++++++++ pod-logs/kube-system/kube-apiserver-controller/\n>f+++++++++ pod-logs/kube-system/kube-apiserver-controller/kube-apiserver.txt\ncd+++++++++ pod-logs/kube-system/kube-controller-manager-controller/\n>f+++++++++ pod-logs/kube-system/kube-controller-manager-controller/kube-controller-manager.txt\ncd+++++++++ pod-logs/kube-system/kube-proxy-vkrdf/\n>f+++++++++ pod-logs/kube-system/kube-proxy-vkrdf/kube-proxy.txt\ncd+++++++++ pod-logs/kube-system/kube-scheduler-controller/\n>f+++++++++ pod-logs/kube-system/kube-scheduler-controller/kube-scheduler.txt\ncd+++++++++ pod-logs/kube-system/kube-vip-controller/\n>f+++++++++ pod-logs/kube-system/kube-vip-controller/kube-vip.txt\ncd+++++++++ pod-logs/secretgen-controller/\ncd+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/\n>f+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/secretgen-controller.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ pod-logs/",
                                "cd+++++++++ pod-logs/envoy-gateway-system/",
                                "cd+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/",
                                ">f+++++++++ pod-logs/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/envoy-gateway.txt",
                                "cd+++++++++ pod-logs/failed-pods/",
                                "cd+++++++++ pod-logs/failed-pods/envoy-gateway-system/",
                                "cd+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/",
                                ">f+++++++++ pod-logs/failed-pods/envoy-gateway-system/envoy-gateway-78446f96c9-rtlkx/envoy-gateway.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/apply-sysctl-overwrites.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/cilium-agent.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/clean-cilium-state.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/config.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/install-cni-binaries.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/mount-bpf-fs.txt",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-fk7vc/mount-cgroup.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/cilium-operator.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-w6brt/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-5dd5756b68-w6brt/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b75hj/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-b75hj/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-wzpjh/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/coredns-77cccfdc44-wzpjh/coredns.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/etcd-controller/etcd.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-apiserver-controller/kube-apiserver.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-controller-manager-controller/kube-controller-manager.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-vkrdf/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-proxy-vkrdf/kube-proxy.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-scheduler-controller/kube-scheduler.txt",
                                "cd+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/",
                                ">f+++++++++ pod-logs/failed-pods/kube-system/kube-vip-controller/kube-vip.txt",
                                "cd+++++++++ pod-logs/failed-pods/secretgen-controller/",
                                "cd+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/",
                                ">f+++++++++ pod-logs/failed-pods/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/secretgen-controller.txt",
                                "cd+++++++++ pod-logs/kube-system/",
                                "cd+++++++++ pod-logs/kube-system/cilium-fk7vc/",
                                ">f+++++++++ pod-logs/kube-system/cilium-fk7vc/apply-sysctl-overwrites.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-fk7vc/cilium-agent.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-fk7vc/clean-cilium-state.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-fk7vc/config.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-fk7vc/install-cni-binaries.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-fk7vc/mount-bpf-fs.txt",
                                ">f+++++++++ pod-logs/kube-system/cilium-fk7vc/mount-cgroup.txt",
                                "cd+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/",
                                ">f+++++++++ pod-logs/kube-system/cilium-operator-7fcd8d6ffd-vlg2m/cilium-operator.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-5dd5756b68-w6brt/",
                                ">f+++++++++ pod-logs/kube-system/coredns-5dd5756b68-w6brt/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b75hj/",
                                ">f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-b75hj/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/coredns-77cccfdc44-wzpjh/",
                                ">f+++++++++ pod-logs/kube-system/coredns-77cccfdc44-wzpjh/coredns.txt",
                                "cd+++++++++ pod-logs/kube-system/etcd-controller/",
                                ">f+++++++++ pod-logs/kube-system/etcd-controller/etcd.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-apiserver-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-apiserver-controller/kube-apiserver.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-controller-manager-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-controller-manager-controller/kube-controller-manager.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-proxy-vkrdf/",
                                ">f+++++++++ pod-logs/kube-system/kube-proxy-vkrdf/kube-proxy.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-scheduler-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-scheduler-controller/kube-scheduler.txt",
                                "cd+++++++++ pod-logs/kube-system/kube-vip-controller/",
                                ">f+++++++++ pod-logs/kube-system/kube-vip-controller/kube-vip.txt",
                                "cd+++++++++ pod-logs/secretgen-controller/",
                                "cd+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/",
                                ">f+++++++++ pod-logs/secretgen-controller/secretgen-controller-ffb97c6dc-hbtfr/secretgen-controller.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000001f",
                        "name": "gather-pod-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-pod-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:26.318480Z",
                            "start": "2026-09-25T02:23:25.714625Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000024",
                        "name": "Downloads pod logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/prometheus",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/prometheus",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/prometheus",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:26.597265Z",
                            "start": "2026-09-25T02:23:26.338519Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000028",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                            "delta": "0:00:01.066914",
                            "end": "2026-09-25 02:23:27.964892",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACES=$(kubectl get namespaces -o json | jq -r '.items[].metadata.name')\nfor NS in $NAMESPACES; do\n  SERVICES=$(kubectl get svc -n $NS -o json | jq -r '.items[] | select(.spec.ports[].name==\"metrics\") | .metadata.name')\n  for SVC in $SERVICES; do\n    PORT=$(kubectl get svc $SVC -n $NS -o json | jq -r '.spec.ports[] | select(.name==\"metrics\") | .port')\n    echo \"Scraping $SVC.$NS:$PORT/metrics:\"\n    curl \"$SVC.$NS:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$NS-$SVC.txt || true\n  done\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000029-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:26.897978",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "Scraping envoy-gateway.envoy-gateway-system:19001/metrics:\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: envoy-gateway.envoy-gateway-system\nScraping kube-dns.kube-system:9153/metrics:\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: kube-dns.kube-system",
                            "stdout_lines": [
                                "Scraping envoy-gateway.envoy-gateway-system:19001/metrics:",
                                "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current",
                                "                                 Dload  Upload   Total   Spent    Left  Speed",
                                "",
                                "  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: envoy-gateway.envoy-gateway-system",
                                "Scraping kube-dns.kube-system:9153/metrics:",
                                "  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current",
                                "                                 Dload  Upload   Total   Spent    Left  Speed",
                                "",
                                "  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: kube-dns.kube-system"
                            ],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000029-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:28.181886Z",
                            "start": "2026-09-25T02:23:26.648856Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000029",
                        "name": "Get metrics from exporter services in all namespaces"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                            "delta": "0:00:00.111036",
                            "end": "2026-09-25 02:23:28.594933",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nmgr_endpoints=$(kubectl get endpoints -n ceph -l component=manager -o json | jq -r '.items[].subsets[].addresses[].ip')\necho \"ceph-mgr endpoints: $mgr_endpoints\"\nfor endpoint in $mgr_endpoints; do\n  echo \"checking ceph-mgr at $endpoint\"\n  metrics_curl=\"curl $endpoint:9283/metrics\"\n  op=$(eval \"$metrics_curl\")\n  if [[ -n $op ]]; then\n    curl $endpoint:9283/metrics >> \"/tmp/logs\"/prometheus/ceph-ceph-mgr.txt\n    break\n  else\n    echo \"$endpoint is a standby ceph-mgr. Trying next endpoint\"\n  fi\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000002a-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:28.483897",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "ceph-mgr endpoints: ",
                            "stdout_lines": [
                                "ceph-mgr endpoints: "
                            ],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000002a-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:28.739647Z",
                            "start": "2026-09-25T02:23:28.221897Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000002a",
                        "name": "Get ceph metrics from ceph-mgr"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                            "delta": "0:00:00.097355",
                            "end": "2026-09-25 02:23:29.141956",
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -e\nNAMESPACE=\"osh-infra\"\nAPP_LABEL=\"fluentd\"\nPODS=$(kubectl get pods -n $NAMESPACE -l application=$APP_LABEL -o json | jq -r '.items[].metadata.name')\nfor POD in $PODS; do\n  IP=$(kubectl get pod -n $NAMESPACE $POD -o json | jq -r '.status.podIP')\n  PORT=$(kubectl get pod -n $NAMESPACE $POD -o json |  jq -r '.spec.containers[0].ports[] | select(.name==\"metrics\") | .containerPort')\n  echo \"Scraping $POD at $IP:$PORT/metrics\"\n  curl \"$IP:$PORT/metrics\" >> \"/tmp/logs\"/prometheus/$POD.txt || true\ndone",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000002b-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "",
                            "rc": 0,
                            "start": "2026-09-25 02:23:29.044601",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "",
                            "stdout_lines": [],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-00000000002b-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:29.296966Z",
                            "start": "2026-09-25T02:23:28.786599Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000002b",
                        "name": "Get metrics from fluentd pods"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/tmp/logs/prometheus /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.208:/tmp/logs/prometheus",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ prometheus/\n>f+++++++++ prometheus/envoy-gateway-system-envoy-gateway.txt\n>f+++++++++ prometheus/kube-system-kube-dns.txt\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ prometheus/",
                                ">f+++++++++ prometheus/envoy-gateway-system-envoy-gateway.txt",
                                ">f+++++++++ prometheus/kube-system-kube-dns.txt"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-000000000026",
                        "name": "gather-prom-metrics",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-prom-metrics"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:29.931182Z",
                            "start": "2026-09-25T02:23:29.302471Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-00000000002c",
                        "name": "Downloads logs to executor"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "diff": {
                                "after": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "directory"
                                },
                                "before": {
                                    "path": "/tmp/logs/selenium",
                                    "state": "absent"
                                }
                            },
                            "gid": 0,
                            "group": "root",
                            "invocation": {
                                "module_args": {
                                    "_diff_peek": null,
                                    "_original_basename": null,
                                    "access_time": null,
                                    "access_time_format": "%Y%m%d%H%M.%S",
                                    "attributes": null,
                                    "follow": true,
                                    "force": false,
                                    "group": null,
                                    "mode": null,
                                    "modification_time": null,
                                    "modification_time_format": "%Y%m%d%H%M.%S",
                                    "owner": null,
                                    "path": "/tmp/logs/selenium",
                                    "recurse": false,
                                    "selevel": null,
                                    "serole": null,
                                    "setype": null,
                                    "seuser": null,
                                    "src": null,
                                    "state": "directory",
                                    "unsafe_writes": false
                                }
                            },
                            "mode": "0755",
                            "owner": "root",
                            "path": "/tmp/logs/selenium",
                            "size": 4096,
                            "state": "directory",
                            "uid": 0
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:30.208286Z",
                            "start": "2026-09-25T02:23:29.942005Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000030",
                        "name": "creating directory for helm release descriptions"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "cmd": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                            "delta": "0:00:00.015248",
                            "end": "2026-09-25 02:23:30.560594",
                            "failed": true,
                            "invocation": {
                                "module_args": {
                                    "_raw_params": "set -x\ncp /tmp/artifacts/* /tmp/logs/selenium/.",
                                    "_uses_shell": true,
                                    "argv": null,
                                    "chdir": null,
                                    "creates": null,
                                    "executable": "/bin/bash",
                                    "expand_argument_vars": true,
                                    "removes": null,
                                    "stdin": null,
                                    "stdin_add_newline": true,
                                    "strip_empty_ends": true,
                                    "zuul_ansible_split_streams": false,
                                    "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000031-1-controller",
                                    "zuul_no_log": false,
                                    "zuul_output_max_bytes": 1073741824
                                }
                            },
                            "msg": "non-zero return code",
                            "rc": 1,
                            "start": "2026-09-25 02:23:30.545346",
                            "stderr": "",
                            "stderr_lines": [],
                            "stdout": "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.\ncp: cannot stat '/tmp/artifacts/*': No such file or directory",
                            "stdout_lines": [
                                "+ cp '/tmp/artifacts/*' /tmp/logs/selenium/.",
                                "cp: cannot stat '/tmp/artifacts/*': No such file or directory"
                            ],
                            "zuul_log_id": "0242ac17-0010-0acf-bd33-000000000031-1-controller"
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:30.768203Z",
                            "start": "2026-09-25T02:23:30.250683Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000031",
                        "name": "Get selenium data"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o Port=22 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --rsync-path='sudo -u root rsync' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/tmp/logs/selenium /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                            "invocation": {
                                "module_args": {
                                    "_local_rsync_password": null,
                                    "_local_rsync_path": "rsync",
                                    "_ssh_args": null,
                                    "_substitute_controller": false,
                                    "archive": true,
                                    "checksum": false,
                                    "compress": true,
                                    "copy_links": false,
                                    "delay_updates": true,
                                    "delete": false,
                                    "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/controller",
                                    "dest_port": 22,
                                    "dirs": false,
                                    "existing_only": false,
                                    "group": null,
                                    "link_dest": null,
                                    "links": null,
                                    "mode": "pull",
                                    "owner": null,
                                    "partial": false,
                                    "perms": null,
                                    "private_key": null,
                                    "recursive": null,
                                    "rsync_opts": [],
                                    "rsync_path": "sudo -u root rsync",
                                    "rsync_timeout": 0,
                                    "set_remote_user": true,
                                    "src": "zuul@162.253.55.208:/tmp/logs/selenium",
                                    "ssh_connection_multiplexing": false,
                                    "times": null,
                                    "use_ssh_args": false,
                                    "verify_host": false
                                }
                            },
                            "msg": "cd+++++++++ selenium/\n",
                            "rc": 0,
                            "stdout_lines": [
                                "cd+++++++++ selenium/"
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-0acf-bd33-00000000002e",
                        "name": "gather-selenium-data",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/untrusted/project_4/opendev.org/openstack/openstack-helm/roles/gather-selenium-data"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:31.314519Z",
                            "start": "2026-09-25T02:23:30.779158Z"
                        },
                        "id": "0242ac17-0010-0acf-bd33-000000000032",
                        "name": "Downloads logs to executor"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 23,
            "failures": 0,
            "ignored": 2,
            "ok": 23,
            "rescued": 0,
            "skipped": 0,
            "unreachable": 0
        }
    },
    "trusted": false
},
{
    "branch": "main",
    "index": "1",
    "phase": "post",
    "playbook": "github.com/vexxhost/zuul-config/playbooks/base/post.yaml",
    "plays": [
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:23:35.560043Z",
                    "start": "2026-09-25T02:23:32.037910Z"
                },
                "id": "0242ac17-0010-39ca-3545-000000000002",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "changed": false,
                            "false_condition": "groups['all'] | length > 1",
                            "skip_reason": "Conditional result was False",
                            "skipped": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39ca-3545-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:32.102234Z",
                            "start": "2026-09-25T02:23:32.048179Z"
                        },
                        "id": "0242ac17-0010-39ca-3545-000000000008",
                        "name": "Set log path for multiple nodes"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "set_fact",
                            "ansible_facts": {
                                "log_path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs"
                            },
                            "changed": false
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39ca-3545-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:32.142728Z",
                            "start": "2026-09-25T02:23:32.111306Z"
                        },
                        "id": "0242ac17-0010-39ca-3545-000000000009",
                        "name": "Set log path for single node"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "file",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": false,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts"
                                },
                                {
                                    "ansible_loop_var": "zj_output_dir",
                                    "changed": true,
                                    "diff": {
                                        "after": {
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs",
                                            "state": "directory"
                                        },
                                        "before": {
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs",
                                            "state": "absent"
                                        }
                                    },
                                    "failed": false,
                                    "gid": 0,
                                    "group": "root",
                                    "invocation": {
                                        "module_args": {
                                            "_diff_peek": null,
                                            "_original_basename": null,
                                            "access_time": null,
                                            "access_time_format": "%Y%m%d%H%M.%S",
                                            "attributes": null,
                                            "follow": true,
                                            "force": false,
                                            "group": null,
                                            "mode": 493,
                                            "modification_time": null,
                                            "modification_time_format": "%Y%m%d%H%M.%S",
                                            "owner": null,
                                            "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs",
                                            "recurse": false,
                                            "selevel": null,
                                            "serole": null,
                                            "setype": null,
                                            "seuser": null,
                                            "src": null,
                                            "state": "directory",
                                            "unsafe_writes": false
                                        }
                                    },
                                    "mode": "0755",
                                    "owner": "root",
                                    "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs",
                                    "size": 4096,
                                    "state": "directory",
                                    "uid": 0,
                                    "zj_output_dir": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39ca-3545-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:33.011932Z",
                            "start": "2026-09-25T02:23:32.148842Z"
                        },
                        "id": "0242ac17-0010-39ca-3545-00000000000a",
                        "name": "Ensure local output dirs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "synchronize",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/home/zuul/zuul-output/logs/ /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.208:/home/zuul/zuul-output/logs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs",
                                        "src": "logs"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/home/zuul/zuul-output/artifacts/ /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.208:/home/zuul/zuul-output/artifacts/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts",
                                        "src": "artifacts"
                                    }
                                },
                                {
                                    "ansible_loop_var": "zj_output",
                                    "changed": true,
                                    "cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --no-owner --no-group --rsh='/usr/bin/ssh -S none -o Port=22' --out-format='<<CHANGED>>%i %n%L' zuul@162.253.55.208:/home/zuul/zuul-output/docs/ /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs/",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_local_rsync_password": null,
                                            "_local_rsync_path": "rsync",
                                            "_ssh_args": null,
                                            "_substitute_controller": false,
                                            "archive": true,
                                            "checksum": false,
                                            "compress": true,
                                            "copy_links": false,
                                            "delay_updates": true,
                                            "delete": false,
                                            "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs/",
                                            "dest_port": 22,
                                            "dirs": false,
                                            "existing_only": false,
                                            "group": false,
                                            "link_dest": null,
                                            "links": null,
                                            "mode": "pull",
                                            "owner": false,
                                            "partial": false,
                                            "perms": null,
                                            "private_key": null,
                                            "recursive": null,
                                            "rsync_opts": [],
                                            "rsync_path": null,
                                            "rsync_timeout": 0,
                                            "set_remote_user": true,
                                            "src": "zuul@162.253.55.208:/home/zuul/zuul-output/docs/",
                                            "ssh_connection_multiplexing": false,
                                            "times": null,
                                            "use_ssh_args": false,
                                            "verify_host": true
                                        }
                                    },
                                    "msg": ".d..t...... ./\n",
                                    "rc": 0,
                                    "stdout_lines": [
                                        ".d..t...... ./"
                                    ],
                                    "zj_output": {
                                        "dest": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs",
                                        "src": "docs"
                                    }
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39ca-3545-000000000006",
                        "name": "fetch-output",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/fetch-output"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:34.823445Z",
                            "start": "2026-09-25T02:23:33.021211Z"
                        },
                        "id": "0242ac17-0010-39ca-3545-00000000000c",
                        "name": "Collect logs, artifacts and docs"
                    }
                },
                {
                    "hosts": {
                        "controller": {
                            "action": "shell",
                            "changed": true,
                            "msg": "All items completed",
                            "results": [
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts/* /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/artifacts\nfi\n",
                                    "delta": "0:00:00.005635",
                                    "end": "2026-09-25 02:23:35.257054",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/artifacts\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/artifacts/* /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/artifacts\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-09-25 02:23:35.251419",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "artifacts",
                                    "zuul_log_id": "in-loop-ignore"
                                },
                                {
                                    "ansible_loop_var": "zj_item",
                                    "changed": true,
                                    "cmd": "if [ -n \"$(find /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs/* /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/docs\nfi\n",
                                    "delta": "0:00:00.007774",
                                    "end": "2026-09-25 02:23:35.509835",
                                    "failed": false,
                                    "invocation": {
                                        "module_args": {
                                            "_raw_params": "if [ -n \"$(find /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs -mindepth 1)\" ] ; then\n  # Only create target directory if it is needed.\n  # Do not fail if it is already there.\n  mkdir -p /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/docs\n  # Leave the original directory behind so that other roles\n  # operating on the interface directories can simply no-op.\n  mv -f /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/docs/* /var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/work/logs/docs\nfi\n",
                                            "_uses_shell": true,
                                            "argv": null,
                                            "chdir": null,
                                            "creates": null,
                                            "executable": null,
                                            "expand_argument_vars": true,
                                            "removes": null,
                                            "stdin": null,
                                            "stdin_add_newline": true,
                                            "strip_empty_ends": true,
                                            "zuul_ansible_split_streams": false,
                                            "zuul_log_id": "in-loop-ignore",
                                            "zuul_no_log": false,
                                            "zuul_output_max_bytes": 1073741824
                                        }
                                    },
                                    "msg": "",
                                    "rc": 0,
                                    "start": "2026-09-25 02:23:35.502061",
                                    "stderr": "",
                                    "stderr_lines": [],
                                    "stdout": "",
                                    "stdout_lines": [],
                                    "zj_item": "docs",
                                    "zuul_log_id": "in-loop-ignore"
                                }
                            ]
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39ca-3545-00000000000f",
                        "name": "merge-output-to-logs",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/merge-output-to-logs"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:35.560043Z",
                            "start": "2026-09-25T02:23:34.843227Z"
                        },
                        "id": "0242ac17-0010-39ca-3545-000000000011",
                        "name": "Move artifacts and docs to logs dir"
                    }
                }
            ]
        },
        {
            "play": {
                "duration": {
                    "end": "2026-09-25T02:23:36.093294Z",
                    "start": "2026-09-25T02:23:35.578630Z"
                },
                "id": "0242ac17-0010-39ca-3545-000000000013",
                "name": "all"
            },
            "tasks": [
                {
                    "hosts": {
                        "controller": {
                            "action": "authorized_key",
                            "changed": true,
                            "comment": null,
                            "exclusive": false,
                            "follow": false,
                            "invocation": {
                                "module_args": {
                                    "changed": true,
                                    "comment": null,
                                    "exclusive": false,
                                    "follow": false,
                                    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDUp6Mut8STTAn0P/83oAPIAopjdWTdzFrjBDynyTuXCBANjIeW7Dd1Mizkl9IUQsUHapvujgOxh68Gr3W0Pnzo/cLoQctQafqEElo87+G3Lv4DWQXeE1+C08Pnq1u7sO7nIKu/wA1g3PdBxMJ9mINhkxYRvrfsY0NRdgVtjgmqxiaFyV9H//eWvQ0nEdGksPcu84OcCrb9JCaIcZTVW1E0dV0/hPxT4qOm1x/BwW1YPeE9JeAaFvQ4nl177/kd/aGkjIKceAFeQTcosCs26C/DQOmbfgbxetG1xu2Yn0U8UYeYvfVTePJun8hJbawOoUY9qjrrpN1V2UGPyZpdOePXmsh+Ow7UryoeP5mt1HuSIoRk/5ykgVWU3/eUf35aOBWVCzPC1BXmDaCXzLZBdZy3Dtfv2rfDGvUAEZZ8d6AY6TSB2AHN2EYZr2poDit6p89sJhfuvSo+GXdmLpmV6x+NOiJPA2LrcX1UhjOc+pS4F7aUyJFpgU37DjvIUdViuk= zuul-build-sshkey",
                                    "key_options": null,
                                    "keyfile": "/home/zuul/.ssh/authorized_keys",
                                    "manage_dir": true,
                                    "path": null,
                                    "state": "absent",
                                    "user": "zuul",
                                    "validate_certs": true
                                }
                            },
                            "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDUp6Mut8STTAn0P/83oAPIAopjdWTdzFrjBDynyTuXCBANjIeW7Dd1Mizkl9IUQsUHapvujgOxh68Gr3W0Pnzo/cLoQctQafqEElo87+G3Lv4DWQXeE1+C08Pnq1u7sO7nIKu/wA1g3PdBxMJ9mINhkxYRvrfsY0NRdgVtjgmqxiaFyV9H//eWvQ0nEdGksPcu84OcCrb9JCaIcZTVW1E0dV0/hPxT4qOm1x/BwW1YPeE9JeAaFvQ4nl177/kd/aGkjIKceAFeQTcosCs26C/DQOmbfgbxetG1xu2Yn0U8UYeYvfVTePJun8hJbawOoUY9qjrrpN1V2UGPyZpdOePXmsh+Ow7UryoeP5mt1HuSIoRk/5ykgVWU3/eUf35aOBWVCzPC1BXmDaCXzLZBdZy3Dtfv2rfDGvUAEZZ8d6AY6TSB2AHN2EYZr2poDit6p89sJhfuvSo+GXdmLpmV6x+NOiJPA2LrcX1UhjOc+pS4F7aUyJFpgU37DjvIUdViuk= zuul-build-sshkey",
                            "key_options": null,
                            "keyfile": "/home/zuul/.ssh/authorized_keys",
                            "manage_dir": true,
                            "path": null,
                            "state": "absent",
                            "user": "zuul",
                            "validate_certs": true
                        }
                    },
                    "role": {
                        "id": "0242ac17-0010-39ca-3545-000000000016",
                        "name": "remove-build-sshkey",
                        "path": "/var/lib/zuul/builds/4c2827eb28a5432898b5eee10be8af64/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/remove-build-sshkey"
                    },
                    "task": {
                        "duration": {
                            "end": "2026-09-25T02:23:36.093294Z",
                            "start": "2026-09-25T02:23:35.592255Z"
                        },
                        "id": "0242ac17-0010-39ca-3545-000000000018",
                        "name": "Remove the build SSH key from all nodes"
                    }
                }
            ]
        }
    ],
    "stats": {
        "controller": {
            "changed": 4,
            "failures": 0,
            "ignored": 0,
            "ok": 5,
            "rescued": 0,
            "skipped": 1,
            "unreachable": 0
        }
    },
    "trusted": true
}
]
