--- apiVersion: v1 items: - apiVersion: v1 data: cnibincopy.sh: |- #!/bin/bash set -e function log() { echo "$(date --iso-8601=seconds) [cnibincopy] ${1}" } DESTINATION_DIRECTORY=/host/opt/cni/bin/ # Perform validation of usage if [ -z "$RHEL8_SOURCE_DIRECTORY" ] || [ -z "$RHEL9_SOURCE_DIRECTORY" ] || [ -z "$DEFAULT_SOURCE_DIRECTORY" ]; then log "FATAL ERROR: You must set env variables: RHEL8_SOURCE_DIRECTORY, RHEL9_SOURCE_DIRECTORY, DEFAULT_SOURCE_DIRECTORY" exit 1 fi if [ ! -d "$DESTINATION_DIRECTORY" ]; then log "FATAL ERROR: Destination directory ($DESTINATION_DIRECTORY) does not exist" exit 1 fi # Collect host OS information . /host/etc/os-release rhelmajor= # detect which version we're using in order to copy the proper binaries case "${ID}" in rhcos|scos) RHEL_VERSION=$(echo "${CPE_NAME}" | cut -f 5 -d :) rhelmajor=$(echo $RHEL_VERSION | sed -E 's/([0-9]+)\.{1}[0-9]+(\.[0-9]+)?/\1/') ;; rhel|centos) rhelmajor=$(echo "${VERSION_ID}" | cut -f 1 -d .) ;; fedora) if [ "${VARIANT_ID}" == "coreos" ]; then rhelmajor=8 else log "FATAL ERROR: Unsupported Fedora variant=${VARIANT_ID}" exit 1 fi ;; *) log "FATAL ERROR: Unsupported OS ID=${ID}"; exit 1 ;; esac # Set which directory we'll copy from, detect if it exists sourcedir= founddir=false case "${rhelmajor}" in 8) if [ -d "${RHEL8_SOURCE_DIRECTORY}" ]; then sourcedir=${RHEL8_SOURCE_DIRECTORY} founddir=true fi ;; 9) if [ -d "${RHEL9_SOURCE_DIRECTORY}" ]; then sourcedir=${RHEL9_SOURCE_DIRECTORY} founddir=true fi ;; *) log "ERROR: RHEL Major Version Unsupported, rhelmajor=${rhelmajor}" ;; esac # When it doesn't exist, fall back to the original directory. if [ "$founddir" == false ]; then log "Source directory unavailable for OS version: ${rhelmajor}" sourcedir=$DEFAULT_SOURCE_DIRECTORY fi # Use a subdirectory called "upgrade" so we can atomically move fully copied files. # We now use --remove-destination after running into an issue with -f not working over symlinks UPGRADE_DIRECTORY=${DESTINATION_DIRECTORY}upgrade_$(uuidgen) rm -Rf $UPGRADE_DIRECTORY mkdir -p $UPGRADE_DIRECTORY cp -r --remove-destination ${sourcedir}* $UPGRADE_DIRECTORY if [ $? -eq 0 ]; then log "Successfully copied files in ${sourcedir} to $UPGRADE_DIRECTORY" else log "Failed to copy files in ${sourcedir} to $UPGRADE_DIRECTORY" rm -Rf $UPGRADE_DIRECTORY exit 1 fi mv -f $UPGRADE_DIRECTORY/* ${DESTINATION_DIRECTORY}/ if [ $? -eq 0 ]; then log "Successfully moved files in $UPGRADE_DIRECTORY to ${DESTINATION_DIRECTORY}" else log "Failed to move files in $UPGRADE_DIRECTORY to ${DESTINATION_DIRECTORY}" rm -Rf $UPGRADE_DIRECTORY exit 1 fi rm -Rf $UPGRADE_DIRECTORY kind: ConfigMap metadata: annotations: kubernetes.io/description: | This is a script used to copy CNI binaries based on host OS release.openshift.io/version: 4.18.35 creationTimestamp: "2026-03-19T09:18:42Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:cnibincopy.sh: {} f:metadata: f:annotations: f:kubernetes.io/description: {} f:release.openshift.io/version: {} f:ownerReferences: k:{"uid":"4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:18:42Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9 resourceVersion: "2872" uid: e8d003d8-f3a6-47e4-9dd7-bafacb42765f - apiVersion: v1 data: allowlist.conf: |- ^net.ipv4.conf.IFNAME.accept_redirects$ ^net.ipv4.conf.IFNAME.accept_source_route$ ^net.ipv4.conf.IFNAME.arp_accept$ ^net.ipv4.conf.IFNAME.arp_notify$ ^net.ipv4.conf.IFNAME.disable_policy$ ^net.ipv4.conf.IFNAME.secure_redirects$ ^net.ipv4.conf.IFNAME.send_redirects$ ^net.ipv6.conf.IFNAME.accept_ra$ ^net.ipv6.conf.IFNAME.accept_redirects$ ^net.ipv6.conf.IFNAME.accept_source_route$ ^net.ipv6.conf.IFNAME.arp_accept$ ^net.ipv6.conf.IFNAME.arp_notify$ ^net.ipv6.neigh.IFNAME.base_reachable_time_ms$ ^net.ipv6.neigh.IFNAME.retrans_time_ms$ kind: ConfigMap metadata: annotations: kubernetes.io/description: | Sysctl allowlist for nodes. release.openshift.io/version: 4.18.35 creationTimestamp: "2026-03-19T09:18:42Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:allowlist.conf: {} f:metadata: f:annotations: .: {} f:kubernetes.io/description: {} f:release.openshift.io/version: {} manager: network-operator operation: Update time: "2026-03-19T09:18:42Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2868" uid: 858ba767-a2f3-4e7a-88dc-d1cb81f26aa4 - apiVersion: v1 data: allowlist.conf: |- ^net.ipv4.conf.IFNAME.accept_redirects$ ^net.ipv4.conf.IFNAME.accept_source_route$ ^net.ipv4.conf.IFNAME.arp_accept$ ^net.ipv4.conf.IFNAME.arp_notify$ ^net.ipv4.conf.IFNAME.disable_policy$ ^net.ipv4.conf.IFNAME.secure_redirects$ ^net.ipv4.conf.IFNAME.send_redirects$ ^net.ipv6.conf.IFNAME.accept_ra$ ^net.ipv6.conf.IFNAME.accept_redirects$ ^net.ipv6.conf.IFNAME.accept_source_route$ ^net.ipv6.conf.IFNAME.arp_accept$ ^net.ipv6.conf.IFNAME.arp_notify$ ^net.ipv6.neigh.IFNAME.base_reachable_time_ms$ ^net.ipv6.neigh.IFNAME.retrans_time_ms$ kind: ConfigMap metadata: annotations: kubernetes.io/description: | Sysctl allowlist for nodes. release.openshift.io/version: 4.18.35 creationTimestamp: "2026-03-19T09:18:42Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:allowlist.conf: {} f:metadata: f:annotations: f:kubernetes.io/description: {} f:release.openshift.io/version: {} f:ownerReferences: k:{"uid":"4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:18:42Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9 resourceVersion: "2867" uid: 9cb64c93-9c1a-447a-afd2-3d3d891239ad - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIOjcWXdnAYJwwDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMzE5MDkwMTQzWhcNMzYwMzE2MDkwMTQzWjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAOKdUIH5ghaCVp13sVRJwI2bCZJpxNaS M9Ncf7vmsVANKuas0SRlzkTZmrxmyiRbCRt9fYSngz7JJlrbWhAms82Xp3ZbfDUk ijox1QM1+0InHivrYQF4Aplj2mx3pI0zDFYtXHxTOFUpwnVSgpOzraewroz4q5Ea ZBvZDGTNMFDnAtuyo/enaPpPrVyzffyjmoL17YVPUQJatiMcp19GttqUjk4GMtsB YEm+KnMEnNgu53oicEKYZ21OOJJfob0Q7tnJZV1fhebA1w+oJd42PnMI7CmbzPzp 2DrPqTZffoZk4gJPmEMLFmAfp+B45kH3w7FUu3UQKaMV+KSjaBV8XV8CAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI5t 8KYPr87hbN6aough60xgZW7LMA0GCSqGSIb3DQEBCwUAA4IBAQDgPOC2/7T1kyZr 3vYFh86qHPhFJsvK0SYd4fBMEhtgaxuP0W5yM+9qMs9riEeXxdnd9xJYU1tCh9Nq pNhXD7vEg12S8OU9yL81WmovC1aywUYfvqO785d+lyAx9bX6T+SuYb+NaE3z1xZo JmCcYSVYPrd2SPJufMHwz77Ao/7X0CK0jXR2Et/0ezHeIIVN/+0YhAoTe3yajMOH DvbkQNoSTvhuX43Nzqm5mViwKEnNq3KGqfeqtomjSg3EigwMggTBNbmVlZo0ftB9 eBuSFk9xxLw4mIZIDWLmm6bwnTsh8wuYhTBP1umUS8x4dWjKj6d7bDtlfXRbdnwH MuL4lLoI -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIIcO/q5PJ0h7AwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDMxOTA5MDE0M1oXDTM2MDMxNjA5MDE0M1owPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxyBRxaXmYjN0 bD7Ayhf/fV9BoANwL8sjtZt7uPxbD2YWSQoKywQfjMUL4diXbGzFqJqEm1hfhs7k dilg+FrzJ9IVxL3vUbUWs8WLuxrhcgj8Zf+SPXtRo0u2BSmvwSIVOuSffsEhHbAA ncwX52De0FzkQV3svN0uS0dNzPHtLN0ZCcjGcTre7Dx1ZdyHax8B0jd1s/boL1ml V20XyR9fK+kfhdXbezFZu1WuoyBePp+oZItuu+hmQ+YptYez0hAmkiRpymA+Fc+6 yJafgrdnJN1r7sYwvUfdznH5FSEcRWZgpmpT/8YkdBz/B5BnZXvp6DAKuvhRoWSb sxDbC1OQzQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUDyapsXL9ZT+485LdG88Xx2dS38IwDQYJKoZIhvcNAQELBQAD ggEBADqkvQqWagA0hJ3F7fnU9341HPQlpVu1Dnrv0xligtj6qWEtskrcOIZTW5gB IdnyVPfAN+kJ9t65bM1JGDdDPp3GxAz02KyA1IoLNSxFFO0MilqZMbY2uM37plzR XUIPS8r2JT2IKv0utAfh8vPE/AJ4/9oiroOt4/JvnQP7QdBJhVlMlghbtbwuDs1S FLImCrJSOGRjWXkbX3ZYHZNqDSfNL1otkdYoaDkQtJBszcfGVb1sThRRlLxD21sv 6/B1OpG1Uwdj6GXDKAYNqzEwCRvejreMkuojvi7oOe7/lIxFQ6H0YzgTUd/esE9w XRWs8sP2JU0JXaY6T9GAY0sjKjg= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIEfkFEtmoXhMwDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDMxOTA5MDE0M1oXDTM2MDMxNjA5MDE0M1owRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAu9XBP44oJpp9TQ0w/fS+ctfUhuAAHX/uwTp4VsXuXHFjD6RaOj8zrVpBzEK7 TBREw74JBCQnj7UHHRTVC/WLAp55KEMdWl3ismCICO4X3oIKAhLtdWvtIW0hqRHO GzhjI5Fy5ql7dVUdtdePonjTwRGRcM7zSJo6di/KwdYwNYKJ+d2mekg3F2j7N/m3 /dClbW+iJ7bH33ZARdcOr4eOpMIXbU4a1ecOG2s3tO7DDnxpg3ws1UP24bMS2Nhw qwrzA3w3ULP2Os/GCJTrnOxUZOeEHvmGn0sOIX2rFqht2wqCw491PRbDmJQqwXPX 0Z1XcMEi5l0SxKBhxej8Oc4NiQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUZ/Ht/sPqyubQoAk0NvI09rjD6uMwDQYJ KoZIhvcNAQELBQADggEBAJ8S+bwDVL7pAn7H61b6r8KBbwnLuXG+aNkL4tW2Oibw GK1yEp/Crr4RPG4GXmiKZb9X0tD5yBOMmY1fDfsCjDV2NSi8Q1VXMX6/sOD2PsLY TJxkugtdFpWWsP37zQyK7FAMmN7HvX9kUnVeKn17xs/l0D5UIxPtZStD729b8RCp I7v5driurf9GNu0xUZq/wz/W2ysSlrtyj7+kH/nVUcoRzsMBWTxgqHH8x/96zMzu cy7xwAfKQBuYkmax/vcKk/lrdiB3msl6wUD+2gE21dlTqzZCLiA736DiXjgQ+6z1 XSE8B4NqzLi+PVgdyO8Kl3jTi7a1TjAyO2eF/Z9f3l4= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIWMscM7iFUkMwDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzczOTEyMDAxMB4XDTI2MDMxOTA5MjAw MFoXDTM2MDMxNjA5MjAwMVowWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzczOTEyMDAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWH4 cE8XS0ayKaZamr6tK93ZA0r1Xo0izYouawSQkPCpcC2fJZoFCTQAHBSDTGAirVmw XsZsO7l6w9XuLfowEb1y8u0gOTEWOoV597Pu9aA9R2OIaaZOBGo8xaqvo1hxOwu3 WpBRLCv5HqkPBPPBt1h5XrTpcq301SiLPsaUXOwVbRJNW0MIoXeBrVYw9GmaI21y 1Kavu3yTCf4vPtHDO2qW0Z3R82gdwREv5PjNX8ApSEWnGk8E3O6E7yDoGBb0KpOS lmE6Bgw4smYS/UK7PDo6NaSm624AkS0tftdF5IOukUMMiE2nP6HQN+IKxdzouZqv PK9AWHZATMmttc/QZwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUzmuTIiafGjleD3szjbBjT/fwCBAwHwYDVR0jBBgw FoAUzmuTIiafGjleD3szjbBjT/fwCBAwDQYJKoZIhvcNAQELBQADggEBAJGeIvhY kr8Fildm+iz30VrZ17eHMLd+kYjmmAyCcYwYkAGiYutotNdpQd3cfNn9TajqyfsD SFJaMMgk4aOK0m20jRbeO9FK+iPoIC1r96zdk1FITWZRNzCwGlhGf/qLbkU5EgpI oy2ozD7Z/zttoWz/7WkO4uKAKmbDCxzqKVn3gSKgYngqGzHknn9dCU07LS+6lvL2 flKrMXrj7pNKW/UTYEsJ+UN+1mOuhdSRpsCaV/Mur8GTJyeBY4zwLSsP0JKiogxa sYoqUFjwSJXGK9BsfwK2K7BKo0vR7Z+DT0sPHHU4cN8GLS5J7NXkZLgvE0aB+ZLQ 5Rc7p77555uP3TA= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIITWmquDAmT9EwDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzczOTEyMTU1MB4XDTI2MDMxOTA5MjMwNFoX DTI4MDMxODA5MjMwNVowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvSpqj/+D8E/Ckajq mLARzm7PAMhA3MbEDA3bu/+fQSuRyEXqEUb5+MWAVd/Nbi/ARXAtzrFwZzHdHocm AkFk90C1CjBnpA4yKlu/jjhHTvZsxs15O7M12VDXhkMH5JCWuTP/J9J7ecErIM4W rCi0sEL0S+Tj6DTo1OoiRa5a0apyh43kxTX1k+K+Eiib6LNeyXiY3taBzmLJmxRc GkRGMZIzFpamZ6PAINnaSbKprF7tQU4CauoDoUsdQYUg1VdRz5+1uUAf4qwi0kyl AIGnyefK3zqPsjNytEevjHOSWHdMx76wudztEXXUTQi5HhHo7fy7j14kF/lUSCvT h/mWwQIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBTWBYVQlEKaFtftbYbxA4mNBgU7 tTAfBgNVHSMEGDAWgBRhiiUm0ZL7bQlGE/yOfr8tr2V3ozAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBAF5ezT3e WT8di7PfcNxLhxNJYsf5EyiZrvWcygsjj9twRtHLuh729q3DujhOWM0ybuDlW6eW WU7gjaJbm4QDUcFCeBStR3XAHNlVuuVuJEGKP6Q3ko66i6q0MUDd4E9kmyJypD/m 8+DnX4KGJ3fFHXzQV2krlL5Ps27LXEKsRb7Jc82jI+cpt2VC3yczVmpp6UZqrZia CvHG64P0A3nCLQswG4iKH+c5qsvNFyTez92sRlyhop4su9+fGk1tck1dRlJQN4+V sH66KkHvg8MXg3O3EBim8Pq2iE2QiaPfGxWmux29RRWv3M1lOK0LC/maek663qMQ L/HHmbIOrDtl+HU= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzM5MTIxNTUwHhcNMjYwMzE5MDkyMjM0WhcNMjgwMzE4 MDkyMjM1WjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzM5MTIxNTUw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDHa94O082a7xEIR/Y764vx ccEj+kma/vuUtn+fO7dABDB/hbVM9DlXHCx4hpIiNcPEVT8ypq6nLkXSkVWrkhED rx+kA9RuQDouSh2zUK22NUcp+sfweyL+SK4wP91mR6agubz4BJlNfXyrEGQlcZjr Q5v2KRyLb4H2xI559QUx42dz8vsWnaqHJZvO5AmFfHZjk3WEg1BJX4oRFPkP32Ez vrWxkCOj+jipqqRv7hnD/l1z+3CLHHVp3A0qhrS8pKDcni/xamfRU1UAcZwcneF0 yFEgpywJwk8bFns4k27qO5vsc0eN7OyVfBOJg8gIhna6MXw9YCCkrploRgoP/O8H AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBRhiiUm0ZL7bQlGE/yOfr8tr2V3ozANBgkqhkiG9w0BAQsFAAOCAQEA vfwrdMPqcTAPcEVWNNfZMSN8lzI58m3gtJE7DetQ5OxVf4s4ts2vU6RJBPVRLAJK 4NCw2LHYEFFx98I09y674Yh3T8KjFo81WGjpw5VY9Qpte2fw+/7n9PceoezDVvkb kPngiWhPZUOm1V0sY983VBw5pXAHfaSFAci8BevGB0nhqeF440h8TBIozZ3ralI0 PjI63bXlVxeraQ4FxroS5gOzKDmWWsa2ARiCIhRgSiALOVPl+3Il9153YptTSphp WB36S9IVIeaPOo0X3sOG2/rAhnQGSpPC8MbJ9NKDQEp98U3eQZbYqUgiLBoLpn1Y cx+hj1H2tMIB9WpbRBqJ3Q== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: kubernetes.io/description: Contains a CA bundle that can be used to verify the kube-apiserver when using internal endpoints such as the internal service IP or kubernetes.default.svc. No other usage is guaranteed across distributions of Kubernetes clusters. creationTimestamp: "2026-03-19T09:18:40Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: .: {} f:ca.crt: {} f:metadata: f:annotations: .: {} f:kubernetes.io/description: {} manager: kube-controller-manager operation: Update time: "2026-03-19T09:35:51Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "16094" uid: d1c88fa0-b21b-4fe5-a66a-7822a8dba3f4 - apiVersion: v1 data: daemon-config.json: | { "cniVersion": "0.3.1", "chrootDir": "/hostroot", "logToStderr": true, "logLevel": "verbose", "binDir": "/var/lib/cni/bin", "perNodeCertificate": { "enabled": true, "bootstrapKubeconfig": "/var/lib/kubelet/kubeconfig", "certDir": "/etc/cni/multus/certs", "certDuration": "24h" }, "cniConfigDir": "/host/etc/cni/net.d", "multusConfigFile": "auto", "multusAutoconfigDir": "/host/run/multus/cni/net.d", "namespaceIsolation": true, "globalNamespaces": "default,openshift-multus,openshift-sriov-network-operator,openshift-cnv", "readinessindicatorfile": "/host/run/multus/cni/net.d/10-ovn-kubernetes.conf", "daemonSocketDir": "/run/multus/socket", "socketDir": "/host/run/multus/socket", "auxiliaryCNIChainName": "vendor-cni-chain" } kind: ConfigMap metadata: creationTimestamp: "2026-03-19T09:18:43Z" labels: app: multus tier: node managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:daemon-config.json: {} f:metadata: f:labels: f:app: {} f:tier: {} f:ownerReferences: k:{"uid":"4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:18:43Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9 resourceVersion: "2874" uid: f9e6b962-235d-49ba-a5f6-9eba62baebd0 - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIOMIedIbxr4gwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MzkxMjAzNzAe Fw0yNjAzMTkwOTIwMzdaFw0yODA1MTcwOTIwMzhaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzM5MTIwMzcwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/mX0NMWqLDCpaU/n6BQpOWYrO0raog6i+ yRVodsjohIBlyyOpwy3w12W8ZaWmEsSfNi2kXJnympJ4xIJ78TAh37wGY6qZPxDr KRZuSDs+wSnj02xxjuNf2tCbysLTcafHBbO8xITbxsGmnJoe9VWccJX2xn1UqtLU Mfel/3BDOGjN2flECbm8NxFw17aPqcL9O9RdOCaSFqwm16t/eHKFtIZBKTxb/ruw C6CMdoxCMhaXtu+9WSeNfWexrQSdWB3dwavf87iWDWnRmMGuLxTxCV3D43nJ5HqK gXuPIVbDehz+FEunGByrnvkIz0sQwi7V9Bj5EZAw9xpBc0eWEQErAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR+t9vX NfBu8VREBjgqrL7xFj5LAjAfBgNVHSMEGDAWgBR+t9vXNfBu8VREBjgqrL7xFj5L AjANBgkqhkiG9w0BAQsFAAOCAQEAOBvHZhYqFZiF57QXhrZat1YhzYOrUa/dvjn6 RBj4bFaDR0R98ozNBU2O7GEf+whJED4bPpz44PjWAUa2UO6rW2YN3yrQrDo38Yqz 5SZ6DcTHT9JeCvrjKfMXYLpYbQDAyf9zzKe3twsoA5CqBBWKc7/5a+HIZPqBfAt/ PVdM0OfpIxzsI9FB8c7X6vvf7C57PFOnMYEXrHt1fesiTehKoqKDbAu0Zmpwygu6 eIFE6bq/ThNS9hOu0jMn4K+W31nq9os2Bl9MGBHeE9nZ1t7fqGvNDyed9hv/FJmE B+S7FlE2tqpdS4AyPR+qmevCAO5yOtfj5x3gmqp9SAsOhZcgTg== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-19T09:18:40Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: {} f:metadata: f:annotations: .: {} f:service.beta.openshift.io/inject-cabundle: {} manager: kube-controller-manager operation: Update time: "2026-03-19T09:18:40Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-03-19T09:20:48Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5807" uid: 2a4626d2-3a6d-4362-84e5-82f3e3ca94dd - apiVersion: v1 data: whereabouts.conf: | { "datastore": "kubernetes", "kubernetes": { "kubeconfig": "/etc/kubernetes/cni/net.d/whereabouts.d/whereabouts.kubeconfig" }, "reconciler_cron_expression": "30 4 * * *", "log_level": "verbose", "configuration_path": "/etc/kubernetes/cni/net.d/whereabouts.d" } kind: ConfigMap metadata: creationTimestamp: "2026-03-19T09:18:43Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-19T09:18:43Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 4e39addf-f9bb-4b21-9912-a6d5d1f6dfc9 resourceVersion: "2873" uid: 0ea89a8b-6f18-4c57-8218-99700f706340 kind: ConfigMapList metadata: resourceVersion: "23444"