--- 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-18T13:06: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":"2ca22bb3-6026-4fcd-ab80-45e7a7698067"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T13:06:42Z" name: cni-copy-resources namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ca22bb3-6026-4fcd-ab80-45e7a7698067 resourceVersion: "2850" uid: 4819ca6b-c502-47f3-83ba-677e50af39c9 - 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-18T13:06: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-18T13:06:42Z" name: cni-sysctl-allowlist namespace: openshift-multus resourceVersion: "2849" uid: b5e98ed0-5632-41e5-9300-882926222da2 - 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-18T13:06: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":"2ca22bb3-6026-4fcd-ab80-45e7a7698067"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T13:06:42Z" name: default-cni-sysctl-allowlist namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ca22bb3-6026-4fcd-ab80-45e7a7698067 resourceVersion: "2848" uid: 14675a63-f1ad-43f5-b669-639cebc27ec0 - apiVersion: v1 data: ca.crt: | -----BEGIN CERTIFICATE----- MIIDMjCCAhqgAwIBAgIIQZOpKR2emtwwDQYJKoZIhvcNAQELBQAwNzESMBAGA1UE CxMJb3BlbnNoaWZ0MSEwHwYDVQQDExhrdWJlLWFwaXNlcnZlci1sYi1zaWduZXIw HhcNMjYwMzE4MTI1MDEwWhcNMzYwMzE1MTI1MDEwWjA3MRIwEAYDVQQLEwlvcGVu c2hpZnQxITAfBgNVBAMTGGt1YmUtYXBpc2VydmVyLWxiLXNpZ25lcjCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAML26BNTYC0XAj5lFAFBTmvqGZHhxjyD 5VDknB1iwEMrY9o5Q9Vrz8UQlyudlb334ydGLFXL5FRrLnNROcY6r7c9Ezjhc0g4 8jDxVJ1zyFbLsIM+JaN2j3Le9gLA7yeaVwfbYU3klS1zbFAF+SpNEihs7MHwViJq oYnDBdLpSb6F71lqqTJqmtxsODM3CEkdZKqFwmulWuvE+Z4XFwfgwnsPjlHVUeR9 o09g88LspLvZRlZvyqC32SDRNThd/rOfMIDKwz3hHXL6pPmjJGxVj5i1lgycl6ZW Y2+9sJqXg52X6ktFwLCK4gRZRJO6RJCESfGzeu5YkrRzkPwWxVJ2j7UCAwEAAaNC MEAwDgYDVR0PAQH/BAQDAgKkMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOZx J0UgpQxuxc5bTPH/h9pO6dWdMA0GCSqGSIb3DQEBCwUAA4IBAQAJ92C5IofMdCbC fDjiI6kcedQuZb7JhweYdmqM/E5qbBCSTBpawtz2FYkKfgkj9WGaDd9UMa75Owx/ EdwaTj1fx87ma+/B48QNTciuXxOgCcI1ePYVuhEpNjExn9t+Q60oxDqISycan3/y P0jIYRsXyuMh0C66kM9qA2b9OwgRhm+RLYX8lJj3qwXiN5AaK0QVDjSKltvVZ+Zk 23Mh0ffII+vVEvLDI0+vwgSZjCveMG8FHjG3UGc5nam43kbvtpo3/0LZg384saXV 3RL63K6VZRyVRiqVytQQYHAQurWZn0hi8SSDFM/9G2EGg6bt0wsS0CagvCFMrekt wwG3+Vr7 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDQDCCAiigAwIBAgIIDklHDUAHDvQwDQYJKoZIhvcNAQELBQAwPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMB4XDTI2MDMxODEyNTAxMFoXDTM2MDMxNTEyNTAxMFowPjESMBAGA1UE CxMJb3BlbnNoaWZ0MSgwJgYDVQQDEx9rdWJlLWFwaXNlcnZlci1sb2NhbGhvc3Qt c2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv7EqRdRHGwO+ m+bByBrLab65aNcAtY1Wtb4DIsUHxFg97AZM+DlF3V0EgUyfppoKNcMMtFoPuj3o f8hGugYKOFBbsynnjdGcXe9yW90w8u3HM6P3eA5g7QOHk/Pf62qQ2FKWWY2kLf0X 6yN6z83f0Jf/PLrUnHuzpFECLdo0i03JSqXex/EUbbMDMbCCZ3L2HZ3z1I+eUyqm JkUPhC9fmMQAuM2fR5uqQTZSrK4F8fr82Li5dy8Hw7k1wWYDW7BQZJItbla5HZ8N aAG8gs34E5K8ZlcUjgXknvU1SJ8mbgUsS2+rclcp4TeLky8MIDQsjMeyUTPvNInG Wx1NnFBEuwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUx1Va0+W6YxoW0ecG/NmAGn2Y4WUwDQYJKoZIhvcNAQELBQAD ggEBAGxX5jHmViz3eizYlpV3imQl6uozfL5ZOqZf/rUszxLjzud5wdZqo07g2TZh zYIH1B2b8FYT7WU5gWCKClOy2d2hgv7KO956FNXiZ9nSIo0nwUyVkZtAb4/26wNa VisFGUFtGpQmL1T7M4Rm3TIqlP2UJInjz0Jn0lRxHbGgqj5npVxcK7wtC4avdW74 mokaQDwzAgY0OMxuV3g87yrmNqjtnya/JAW1/wIgD04Ptpdhqzl3asZYEHJRiFv9 5Z8rXSJWDGQ5xjz8VOczXOWLyHATskH9UKW9sgJhDonu2QSXhKZ25wcxxTzQXOGm 66vTzPz1aFO4YNgXIPazahxJihE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIXNn8JDeqHncwDQYJKoZIhvcNAQELBQAwRDESMBAGA1UE CxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2aWNlLW5l dHdvcmstc2lnbmVyMB4XDTI2MDMxODEyNTAxMFoXDTM2MDMxNTEyNTAxMFowRDES MBAGA1UECxMJb3BlbnNoaWZ0MS4wLAYDVQQDEyVrdWJlLWFwaXNlcnZlci1zZXJ2 aWNlLW5ldHdvcmstc2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEA37V5DoC5Ct1lHjj6QX32Fci1hDO/GwyXZWim9Akj0Dx8cg1830Q05hWlVDx0 CRAIGvNcFiOu9kS0bTSzQd9ZBwv1kspB8U5uIICKDtT+S1fuo9jhsab6BcP0rTqZ 7+2NdEqlxfsGmMzcr8x0k6ewpIhnwrTR6fCO2VLGCWHiXb11C8JbXsiVAkF7aHI3 7dJLXeH4lX6mcqwpWIcsqcUkDIz9jua6P+tDJ95zkd9cuou/y1heT6DApII+sFjT DiomKg2SLISXEQmsqlbb0yMQnL1QPduy5mnZ3ZEUrI3ZwkZH7cYDpI8qEFj36LR5 ttM/FPiC9/ihpwZOuldPi5cggwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAqQwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUwCwXuceC+IINYUKNXglOXI37yf4wDQYJ KoZIhvcNAQELBQADggEBAEA4MJ9I9Zzlvs5iEh2sWRIlV2LMygTJT2tUT/dOkNrI Eq/ktxZs2FzIhmSVTrjJpbGJ2Mu0mnJjuIkC9nkqa1Y2mf3m0br6Ge5EuyzT2gxS hGOPFiA7Ay7jf/vDNoMfxH3ZC+wy1LNcCKN4jS5m5zL5rofRgvQW7tEQ/xSmjq4o mCo+J6kC3JIDQnf087iaxOmzZ3D9CB1HTdemvkzCn4D0vKZlH1iY70vCwke4rd/U S0O0PbLZkUJi5eky85Y6jcJe5mvPlt+iM0Xq2HnUVjwsNEXoFXsd0hNZqH3uABqK RQgqDS7NRupUW2CzCYtUl2mIMzJuScgwggyYan/qSwY= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDlzCCAn+gAwIBAgIIFfEyC+UaICowDQYJKoZIhvcNAQELBQAwWTFXMFUGA1UE AwxOb3BlbnNoaWZ0LWt1YmUtYXBpc2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1y ZWNvdmVyeS1zZXJ2aW5nLXNpZ25lckAxNzczODM5MjgyMB4XDTI2MDMxODEzMDgw MVoXDTM2MDMxNTEzMDgwMlowWTFXMFUGA1UEAwxOb3BlbnNoaWZ0LWt1YmUtYXBp c2VydmVyLW9wZXJhdG9yX2xvY2FsaG9zdC1yZWNvdmVyeS1zZXJ2aW5nLXNpZ25l ckAxNzczODM5MjgyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzDjt l0zew7bOTSlOoYc6SFcmd8x5O3e50MaTkUBlIIWDN0wJ2rjJ/sTPE8BKEzFjAVnd 7gLkr5Rd+QPaS3tnz00n8/UeYT7Q/fadJs9PidZjtYfIfZ/YiW2mjxIYss32NcBy OYN+fAJw8e+1xWtS/ANjizaH9gmlrgjk4TWgQVyeJl+wORAPsAwAWGPsrsNsve78 QHDln6sxOVmVwpkVvoehP3akbpQ32mm0dx1SYQCWBHpJX7800tE/PvCAw1sw2ur0 z7oxUdTbkxAlpCEH+SmaahkGA55NpJ198c+YyDka2shi0BkWFiWNSpGi2bdW3rkv 8VFjyfsgz/EU24KYowIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAqQwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUpIIxJX3giUrIDtqJBKz3P/DN/I0wHwYDVR0jBBgw FoAUpIIxJX3giUrIDtqJBKz3P/DN/I0wDQYJKoZIhvcNAQELBQADggEBAGnitxhv iUxqJvLJatctaVzbA7qqVF0QrjyMM2PKbJEP5jvsxtGkDPyX0ZD+Q9SwMCviNT10 OV0iDKgGZr97GfmaaKa/cnkUko32GU00rpkfiQ9IIalF5PVSlpGA8i8kIKiq6nqu rLJagzJ6SJNIhtPBUO0MoDjK901QgdANQdev0GW0a47DGeMxpWqXYCbV2iq1sTQl YuUmklm7GVNNS85NaE1HFF7jdb7zFqq9eoeIl9+b2vqv0GL/nPSy2v1u4iAx5kNj 9lHzB3aBgrDY91V6WW2U1pH5Q5wNSSrYrnA8Ifu4Gluabar+2DF1L3186/En6esJ SL38vjwNAJnWPDo= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIIWYv+yKsFNF0wDQYJKoZIhvcNAQELBQAwJjEkMCIGA1UE AwwbaW5ncmVzcy1vcGVyYXRvckAxNzczODM5MzI3MB4XDTI2MDMxODEzMDg0N1oX DTI4MDMxNzEzMDg0OFowIzEhMB8GA1UEAwwYKi5hcHBzLnNuby5vcGVuc3RhY2su bGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrzZfPzg3egeYWF2 sSFIzStKDmkEhuERJO1iGQ/IxDnErtUJcgetMU0pb8YWfZFtrWaQLWN0P+Lpy+qQ d2H4vXlAmfSDSNKDfL4dWgJ3OFSuc5H73sfrvu1M3OjH3Wl92hIu6woacFZyMVSU uVbUSvDKKdkQzvUd8OFBLkShJBvj5AFkgTsIFrV1Kx57osu5YPmznBJ26EZ8tUiL J9XLEEBrq2ekiVwFH8hb5gf8Y8TBuyj85Vwy3Fax5JXgw1Xu1B1oXbcyQGhM6Pjw LkODhSm4+IcsUJgwxJTpElJ2d1waFg7XGx7eqhxPxixBAiZrmlpMYMTMWv3rplgd TFVFGwIDAQABo4GbMIGYMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBRI1hfzbfTqE1h8AcjRzDvChRxn oDAfBgNVHSMEGDAWgBTy5MYRfECLXm2VrHOBM4y1nXJ1vDAjBgNVHREEHDAaghgq LmFwcHMuc25vLm9wZW5zdGFjay5sYWIwDQYJKoZIhvcNAQELBQADggEBAIKmS50Z oggWLPqk1LFsHA2b/zSkTYfeIePFe0vPZR1O9wuAjOBH7MT8RLtRu3eVtWiVjK1s YhrUW3c6f+JsyfukdBJvrNOP+O1CUIfeISXDyhHwVZGqOO5LjT/PaxtKTxz+RJHr XNs9Ko+V1SxG+OOBiZsH6n4qmUVRiHJ8cmPT7XYBa3kntiiOsOMfupgyTSALVJBX hjhJvz5SrtQiE3yHOO177PvsqA47dZ2cVTu1bFq0j4cOiN6JwciegoNKXOyt1DFn IG2U+YPq+uE0nMc88FkH6Q3WLTWuXyQPbU8sLicVtCJczEl84tLqk38umOk19cNK 0H/snQ6ib2lxsvE= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtpbmdy ZXNzLW9wZXJhdG9yQDE3NzM4MzkzMjcwHhcNMjYwMzE4MTMwODQ3WhcNMjgwMzE3 MTMwODQ4WjAmMSQwIgYDVQQDDBtpbmdyZXNzLW9wZXJhdG9yQDE3NzM4MzkzMjcw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCfYfVUhapankLwpStVhHXo drPy2BtstfBXnxdGJfKgZqSWoe151DIdhSgu2Mxaji2p0rFg3atFOuu6PUQVyMTg lPmMmr3DA9EEGzQssU3WTiI5r4g4MTOW459Bh0ZERKPNO4GPEtXlh50JzzMuXBV6 YW1nCWbl75xX9/AWB1Y3mX4DbBTDKu8SvFgDsy2v9l1GcHdGBjVN1DMP1/EMucik tssCj3KYBR9QjqktrPco+gmeqS5ZVmSxcyjsoKF+jja0417fPchQBKwjOowLjeaR uMQ0pJaP6ju+6L4a3N49Ume5dvBmFnEgrn9V7JhHiizvNohELvoo+1mm0vLCjZ+d AgMBAAGjRTBDMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEAMB0G A1UdDgQWBBTy5MYRfECLXm2VrHOBM4y1nXJ1vDANBgkqhkiG9w0BAQsFAAOCAQEA k8Ix4e3i+B4PxsDb7XiWIptD4BFmL9Q4cisZPYHkHcfQ8b0SyaPpD83LIblVu4v+ 2gXcLjYYDuf+NWUDl++9f70p1JPME6JGbSpL9DwpWrfQK4CO6NDPLWutWK8vIefm tCH7eFxhzeI8z/ImHhrIqYiGLlLENB6dD46SwiNWyYxw9iJmd/lzqOQtOkZoiiTr Vr07lNRRqIclkSqV5pGF7ahGNiuGEp9Hl2MA+tdQZdBZg73RYmfDtgagjbgWPJsX 5SGWwbZbEisA3ZxPcnIml03bMjWNptVgmVrrYOB4FtFLtLBeJ0vU/+DgwS5iHOcc iqd5NIhCtaBRgOpcewxgkQ== -----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-18T13:06: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-18T13:11:25Z" name: kube-root-ca.crt namespace: openshift-multus resourceVersion: "10303" uid: 9cef1a26-17e1-4a13-9452-65bd5b9ad5df - 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-18T13:06:42Z" 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":"2ca22bb3-6026-4fcd-ab80-45e7a7698067"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T13:06:42Z" name: multus-daemon-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ca22bb3-6026-4fcd-ab80-45e7a7698067 resourceVersion: "2856" uid: 8ed38348-9f57-411e-b5dc-d7f62e2afa1e - apiVersion: v1 data: service-ca.crt: | -----BEGIN CERTIFICATE----- MIIDUTCCAjmgAwIBAgIIcMByhkuctfYwDQYJKoZIhvcNAQELBQAwNjE0MDIGA1UE Awwrb3BlbnNoaWZ0LXNlcnZpY2Utc2VydmluZy1zaWduZXJAMTc3MzgzOTI5OTAe Fw0yNjAzMTgxMzA4MTlaFw0yODA1MTYxMzA4MjBaMDYxNDAyBgNVBAMMK29wZW5z aGlmdC1zZXJ2aWNlLXNlcnZpbmctc2lnbmVyQDE3NzM4MzkyOTkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZpHeQXv92oulg5GjbGUn5tTTdcpUBU/Ff Z564+ircYV1IoaZxtO55dcJ3V0S+CIRI2yMRoxUj2jQY6xG9ycn00fcRU9ZYXe1V kwuq8m8g232g3TgnRVyRpfDhgQoRAwZy7QwFvqjSj5PE5wW6vMoloewQ/6ezVyDC lzgJizIFtJDXrMheuxsvkEinkSp1bPOcp8D2ftjj6OJIbSUpbEHgHcqhJwER2mbn lstaarjLC7q45WAOt4QbKfQ2RXAoBA5UidwMr8Wbu6jwLjbg0aNz/tfKnUy3ZRBY manThwj+GUzn51oSbaapuxByT6ysszcd6WauY0aB1r+cWT0jtvWlAgMBAAGjYzBh MA4GA1UdDwEB/wQEAwICpDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTjvabK SMHJ6J0Xzu7v5LaYnFk/wDAfBgNVHSMEGDAWgBTjvabKSMHJ6J0Xzu7v5LaYnFk/ wDANBgkqhkiG9w0BAQsFAAOCAQEAVpjJkJZc4JPTTL2c3niV1bJ07GpUH/9soIV1 ZBUICj+3IyKBlOqhF8KfL89s73gK3CP5TXKHRfw3aS7mQp5v/dad5S4QcAKU914P VixDCVaZ7hqfgoJ1M/5K6WBS8O6SoIcugEBJRfWb2r9KOfveuuksyg7bAmnY/VY/ xD9UMYxXAUgSMC+TeooAwidFWx758WXXSGPc43t2U/Wr7HSLR/I9OPM03y013RgF nTlietY5GmohAVmrypJR+xNbpfZXifnN8Nhi0qZqVLL8lRf1pC+q9LPOlhKsvuOS /cfBGy+TperJNVFTVkEiqSlmz/gQTx5r8rFuVn8Tgj+9rSkYVQ== -----END CERTIFICATE----- kind: ConfigMap metadata: annotations: service.beta.openshift.io/inject-cabundle: "true" creationTimestamp: "2026-03-18T13:06: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-18T13:06:40Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:service-ca.crt: {} manager: service-ca-operator operation: Update time: "2026-03-18T13:08:29Z" name: openshift-service-ca.crt namespace: openshift-multus resourceVersion: "5242" uid: f9f9da77-6200-401e-8e52-ebca8237ef03 - 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-18T13:06:42Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:data: f:whereabouts.conf: {} f:metadata: f:ownerReferences: k:{"uid":"2ca22bb3-6026-4fcd-ab80-45e7a7698067"}: {} manager: cluster-network-operator/operconfig operation: Apply time: "2026-03-18T13:06:42Z" name: whereabouts-flatfile-config namespace: openshift-multus ownerReferences: - apiVersion: operator.openshift.io/v1 blockOwnerDeletion: true controller: true kind: Network name: cluster uid: 2ca22bb3-6026-4fcd-ab80-45e7a7698067 resourceVersion: "2853" uid: eb22f0e1-9291-4ac0-96b0-eb8ecc0a58a8 kind: ConfigMapList metadata: resourceVersion: "24998"