← Back to Index

Identifying Pods Affected by Secret Rotation in OpenShift

1. Introduction

In a dynamic OpenShift Container Platform (OCP) environment, managing the lifecycle of TLS certificates is a critical operational task. When a certificate, stored in either a Secret or a ConfigMap, is rotated or updated, it is essential to identify all workloads (Pods) that consume it. Pods that mount these resources as volumes or use them in environment variables often need to be restarted to pick up the new content.

Customers frequently require a comprehensive list of all pods that will be affected by a certificate rotation to plan for potential service interruptions and ensure a smooth transition. This document outlines a non-disruptive method and provides a script to generate this list by analyzing pod specifications across the entire cluster.

2. Methodology

The core principle behind this approach is that if a pod is restarted during a certificate rotation, it’s likely because it directly consumes the certificate’s content from a Secret or ConfigMap. The OpenShift control plane or an operator might trigger this restart to force the pod to reload its configuration.

The script systematically scans the YAML definition of every running pod to identify these dependencies. It automates this process by checking for references to Secrets and ConfigMaps in several key areas of a pod’s specification, including both standard and init containers:

  1. spec.volumes: Pods mounting a Secret or ConfigMap as a data volume.
  2. spec.containers[*].envFrom: Pods sourcing all key-value pairs from a Secret or ConfigMap as environment variables.
  3. spec.containers[*].env: Pods sourcing specific keys from a Secret or ConfigMap as environment variables.
  4. spec.initContainers[*]: The same checks are also performed for init containers.

Instead of filtering by resource type, the script inspects the data within all Secrets and ConfigMaps. It decodes secret data and directly reads ConfigMap data to identify any content that is a valid X.509 certificate. This content-based approach ensures that any pod consuming a certificate is identified, regardless of how the resource is labeled.

3. Analysis Script

The following Bash script iterates through all relevant secrets in the cluster and, for each secret, queries for pods in the same namespace that reference it.

#!/bin/bash
        
        # ==============================================================================
        
        # Script Function: Iterate through all Secrets and ConfigMaps in all namespaces
        
        #                  of an OpenShift cluster, decode their data, identify any
        
        #                  valid X.509 certificates, and list the pods that use them.
        
        # ==============================================================================
        
        set -eo pipefail
        
        # Get a list of all non-core system namespaces (customize the scope as needed).
        
        # To get all namespaces: oc get ns -o jsonpath='{.items[*].metadata.name}'
        
        NAMESPACES=$(oc get ns -o jsonpath='{.items[*].metadata.name}' | xargs -n1)
        
        echo "Starting scan for the following namespaces: "
        echo "$NAMESPACES"
        echo "======================================================================================================================================================"
        printf "%-30s %-40s %-15s %-25s %-10s %s\n" "NAMESPACE" "RESOURCE_NAME" "RESOURCE_TYPE" "DATA_KEY" "IS_CERT?" "AFFECTED_PODS"
        echo "======================================================================================================================================================"
        
        # Iterate through each namespace
        
        for ns in $NAMESPACES; do
            # Get all pods in the current namespace once to avoid multiple calls
            PODS_JSON=$(oc get pods -n "$ns" -o json)
        
            # --- Process Secrets ---
            SECRETS_JSON=$(oc get secret -n "$ns" -o json)
            echo "$SECRETS_JSON" | jq -c '.items[] | {name: .metadata.name, type: .type, data: .data}' | while read -r secret_line; do
                SECRET_NAME=$(echo "$secret_line" | jq -r '.name')
                SECRET_TYPE=$(echo "$secret_line" | jq -r '.type')
        
                if ! echo "$secret_line" | jq -e '.data' > /dev/null; then
                    continue
                fi
        
                echo "$secret_line" | jq -r '.data | keys[]' | while read -r key; do
                    DECODED_DATA=$(echo "$secret_line" | jq -r --arg k "$key" '.data[$k]' | base64 -d 2>/dev/null)
                    
                    IS_CERT="No"
                    if [[ "$DECODED_DATA" == *"-----BEGIN CERTIFICATE-----"* ]]; then
                        if echo "$DECODED_DATA" | openssl x509 -noout -text > /dev/null 2>&1; then
                            IS_CERT="Yes"
                        fi
                    fi
                    
                    if [ "$IS_CERT" == "Yes" ]; then
                        # Find pods affected by this secret
                        AFFECTED_PODS=$(echo "$PODS_JSON" | jq -r --arg secret_name "$SECRET_NAME" '
                            .items[] | 
                            select(
                                (.spec.volumes[]?.secret.secretName == $secret_name) or 
                                (.spec.containers[]?.env[]?.valueFrom.secretKeyRef.name == $secret_name) or
                                (.spec.containers[]?.envFrom[]?.secretRef.name == $secret_name) or
                                (.spec.initContainers[]?.env[]?.valueFrom.secretKeyRef.name == $secret_name) or
                                (.spec.initContainers[]?.envFrom[]?.secretRef.name == $secret_name)
                            ) | .metadata.name' | tr '\n' ',' | sed 's/,$//')
        
                        if [ -n "$AFFECTED_PODS" ]; then
                            printf "%-30s %-40s %-15s %-25s %-10s %s\n" "$ns" "$SECRET_NAME" "Secret" "$key" "$IS_CERT" "$AFFECTED_PODS"
                        fi
                    fi
                done
            done
        
            # --- Process ConfigMaps ---
            CONFIGMAPS_JSON=$(oc get configmap -n "$ns" -o json)
            echo "$CONFIGMAPS_JSON" | jq -c '.items[] | {name: .metadata.name, data: .data}' | while read -r cm_line; do
                CM_NAME=$(echo "$cm_line" | jq -r '.name')
        
                if ! echo "$cm_line" | jq -e '.data' > /dev/null; then
                    continue
                fi
        
                echo "$cm_line" | jq -r '.data | keys[]' | while read -r key; do
                    # ConfigMap data is not base64 encoded, but we check if it looks like a cert
                    DECODED_DATA=$(echo "$cm_line" | jq -r --arg k "$key" '.data[$k]')
                    
                    IS_CERT="No"
                    if [[ "$DECODED_DATA" == *"-----BEGIN CERTIFICATE-----"* ]]; then
                        if echo "$DECODED_DATA" | openssl x509 -noout -text > /dev/null 2>&1; then
                            IS_CERT="Yes"
                        fi
                    fi
                    
                    if [ "$IS_CERT" == "Yes" ]; then
                        # Find pods affected by this configmap
                        AFFECTED_PODS=$(echo "$PODS_JSON" | jq -r --arg cm_name "$CM_NAME" '
                            .items[] | 
                            select(
                                (.spec.volumes[]?.configMap.name == $cm_name) or 
                                (.spec.containers[]?.env[]?.valueFrom.configMapKeyRef.name == $cm_name) or
                                (.spec.containers[]?.envFrom[]?.configMapRef.name == $cm_name) or
                                (.spec.initContainers[]?.env[]?.valueFrom.configMapKeyRef.name == $cm_name) or
                                (.spec.initContainers[]?.envFrom[]?.configMapRef.name == $cm_name)
                            ) | .metadata.name' | tr '\n' ',' | sed 's/,$//')
                        
                        if [ -n "$AFFECTED_PODS" ]; then
                            printf "%-30s %-40s %-15s %-25s %-10s %s\n" "$ns" "$CM_NAME" "ConfigMap" "$key" "$IS_CERT" "$AFFECTED_PODS"
                        fi
                    fi
                done
            done
        done
        
        echo "======================================================================================================================================================"
        echo "Scan complete."

4. Execution and Expected Output

To run the analysis, save the script to a file (e.g., find_secret_deps.sh), make it executable (chmod +x find_secret_deps.sh), and run it while logged into your OpenShift cluster with sufficient permissions.

The output will be a list of secrets, each followed by the pods that depend on it.

Example Output

Starting scan for the following namespaces:
        assisted-installer
        default
        demo
        dify
        kube-node-lease
        kube-public
        kube-system
        metax-operator
        openshift
        openshift-apiserver
        openshift-apiserver-operator
        openshift-authentication
        openshift-authentication-operator
        openshift-catalogd
        openshift-cloud-controller-manager
        openshift-cloud-controller-manager-operator
        openshift-cloud-credential-operator
        openshift-cloud-network-config-controller
        openshift-cloud-platform-infra
        openshift-cluster-csi-drivers
        openshift-cluster-machine-approver
        openshift-cluster-node-tuning-operator
        openshift-cluster-olm-operator
        openshift-cluster-samples-operator
        openshift-cluster-storage-operator
        openshift-cluster-version
        openshift-cnv
        openshift-config
        openshift-config-managed
        openshift-config-operator
        openshift-console
        openshift-console-operator
        openshift-console-user-settings
        openshift-controller-manager
        openshift-controller-manager-operator
        openshift-dns
        openshift-dns-operator
        openshift-etcd
        openshift-etcd-operator
        openshift-host-network
        openshift-image-registry
        openshift-infra
        openshift-ingress
        openshift-ingress-canary
        openshift-ingress-operator
        openshift-insights
        openshift-kni-infra
        openshift-kube-apiserver
        openshift-kube-apiserver-operator
        openshift-kube-controller-manager
        openshift-kube-controller-manager-operator
        openshift-kube-scheduler
        openshift-kube-scheduler-operator
        openshift-kube-storage-version-migrator
        openshift-kube-storage-version-migrator-operator
        openshift-machine-api
        openshift-machine-config-operator
        openshift-marketplace
        openshift-monitoring
        openshift-multus
        openshift-network-console
        openshift-network-diagnostics
        openshift-network-node-identity
        openshift-network-operator
        openshift-nfd
        openshift-node
        openshift-nutanix-infra
        openshift-oauth-apiserver
        openshift-openstack-infra
        openshift-operator-controller
        openshift-operator-lifecycle-manager
        openshift-operators
        openshift-ovirt-infra
        openshift-ovn-kubernetes
        openshift-route-controller-manager
        openshift-service-ca
        openshift-service-ca-operator
        openshift-user-workload-monitoring
        openshift-virtualization-os-images
        openshift-vsphere-infra
        ======================================================================================================================================================
        NAMESPACE                      RESOURCE_NAME                            RESOURCE_TYPE   DATA_KEY                  IS_CERT?   AFFECTED_PODS
        ======================================================================================================================================================
        openshift-apiserver            etcd-client                              Secret          tls.crt                   Yes        apiserver-5f5968b499-2frcn,apiserver-5f5968b499-4ww9m,apiserver-5f5968b499-qjjs7
        openshift-apiserver            serving-cert                             Secret          tls.crt                   Yes        apiserver-5f5968b499-2frcn,apiserver-5f5968b499-4ww9m,apiserver-5f5968b499-qjjs7
        openshift-apiserver            etcd-serving-ca                          ConfigMap       ca-bundle.crt             Yes        apiserver-5f5968b499-2frcn,apiserver-5f5968b499-4ww9m,apiserver-5f5968b499-qjjs7
        openshift-apiserver-operator   openshift-apiserver-operator-serving-cert Secret          tls.crt                   Yes        openshift-apiserver-operator-6f99444864-rrzww
        openshift-authentication       v4-0-config-system-router-certs          Secret          apps.demo-01-rhsys.wzhlab.top Yes        oauth-openshift-74b4546d9-57c6j,oauth-openshift-74b4546d9-bbbzt,oauth-openshift-74b4546d9-vmmvw
        openshift-authentication       v4-0-config-system-serving-cert          Secret          tls.crt                   Yes        oauth-openshift-74b4546d9-57c6j,oauth-openshift-74b4546d9-bbbzt,oauth-openshift-74b4546d9-vmmvw
        openshift-authentication       v4-0-config-system-service-ca            ConfigMap       service-ca.crt            Yes        oauth-openshift-74b4546d9-57c6j,oauth-openshift-74b4546d9-bbbzt,oauth-openshift-74b4546d9-vmmvw
        openshift-authentication-operator serving-cert                             Secret          tls.crt                   Yes        authentication-operator-5f67845449-722js
        openshift-authentication-operator service-ca-bundle                        ConfigMap       service-ca.crt            Yes        authentication-operator-5f67845449-722js
        openshift-catalogd             catalogserver-cert                       Secret          tls.crt                   Yes        catalogd-controller-manager-777b5d5796-f8w6w
        openshift-cloud-controller-manager-operator cloud-controller-manager-operator-tls    Secret          tls.crt                   Yes        cluster-cloud-controller-manager-operator-6dbbd6fc8b-dmff2
        openshift-cloud-credential-operator cloud-credential-operator-serving-cert   Secret          tls.crt                   Yes        cloud-credential-operator-78584df48f-hqq9b
        openshift-cluster-machine-approver machine-approver-tls                     Secret          tls.crt                   Yes        machine-approver-97fd59f96-pxmbh
        openshift-cluster-node-tuning-operator node-tuning-operator-tls                 Secret          tls.crt                   Yes        cluster-node-tuning-operator-74689f6547-wvvn6
        openshift-cluster-node-tuning-operator performance-addon-operator-webhook-cert  Secret          tls.crt                   Yes        cluster-node-tuning-operator-74689f6547-wvvn6
        openshift-cluster-olm-operator cluster-olm-operator-serving-cert        Secret          tls.crt                   Yes        cluster-olm-operator-8485c9f87b-792sz
        openshift-cluster-samples-operator samples-operator-tls                     Secret          tls.crt                   Yes        cluster-samples-operator-ccfc984f6-gsln6
        openshift-cluster-storage-operator cluster-storage-operator-serving-cert    Secret          tls.crt                   Yes        cluster-storage-operator-59979b9688-sh5d4
        openshift-cluster-version      cluster-version-operator-serving-cert    Secret          tls.crt                   Yes        cluster-version-operator-6654b8544d-5hv2n
        openshift-cluster-version      openshift-service-ca.crt                 ConfigMap       service-ca.crt            Yes        cluster-version-operator-6654b8544d-5hv2n
        openshift-cnv                  cdi-apiserver-server-cert                Secret          tls.crt                   Yes        cdi-apiserver-756887b9d-jhm4l
        openshift-cnv                  cdi-uploadproxy-server-cert              Secret          tls.crt                   Yes        cdi-uploadproxy-7885c5bd67-8kswm
        openshift-cnv                  cdi-uploadserver-client-cert             Secret          tls.crt                   Yes        cdi-uploadproxy-7885c5bd67-8kswm
        openshift-cnv                  cdi-uploadserver-client-signer           Secret          tls.crt                   Yes        cdi-deployment-6786bb7f8d-jvm8h
        openshift-cnv                  cdi-uploadserver-signer                  Secret          tls.crt                   Yes        cdi-deployment-6786bb7f8d-jvm8h
        openshift-cnv                  console-proxy-serving-cert               Secret          tls.crt                   Yes        kubevirt-apiserver-proxy-8445d89cc-hdkrr,kubevirt-apiserver-proxy-8445d89cc-rjs5r
        openshift-cnv                  hco-webhook-service-cert                 Secret          olmCAKey                  Yes        hco-webhook-599f5b494f-v26ln,hco-webhook-599f5b494f-v26ln
        openshift-cnv                  hco-webhook-service-cert                 Secret          tls.crt                   Yes        hco-webhook-599f5b494f-v26ln,hco-webhook-599f5b494f-v26ln
        openshift-cnv                  hostpath-provisioner-operator-service-cert Secret          olmCAKey                  Yes        hostpath-provisioner-operator-75657f77d7-zzdwp,hostpath-provisioner-operator-75657f77d7-zzdwp
        openshift-cnv                  hostpath-provisioner-operator-service-cert Secret          tls.crt                   Yes        hostpath-provisioner-operator-75657f77d7-zzdwp,hostpath-provisioner-operator-75657f77d7-zzdwp
        openshift-cnv                  kubemacpool-service                      Secret          tls.crt                   Yes        kubemacpool-mac-controller-manager-5f66f9f8fd-xs5v2
        openshift-cnv                  kubevirt-controller-certs                Secret          tls.crt                   Yes        virt-controller-546cb8f97f-5ttx9,virt-controller-546cb8f97f-s65cv
        openshift-cnv                  kubevirt-export-ca                       Secret          tls.crt                   Yes        virt-controller-546cb8f97f-5ttx9,virt-controller-546cb8f97f-s65cv
        openshift-cnv                  kubevirt-exportproxy-certs               Secret          tls.crt                   Yes        virt-exportproxy-c6555db98-jn7mx,virt-exportproxy-c6555db98-ppt6x
        openshift-cnv                  kubevirt-ipam-controller-webhook-service Secret          tls.crt                   Yes        kubevirt-ipam-controller-manager-75757f4497-njrtz
        openshift-cnv                  kubevirt-operator-certs                  Secret          tls.crt                   Yes        virt-operator-995c596c8-pvnb9,virt-operator-995c596c8-x7s7k
        openshift-cnv                  kubevirt-virt-api-certs                  Secret          tls.crt                   Yes        virt-api-6c94b5895b-hd824,virt-api-6c94b5895b-lthfp
        openshift-cnv                  kubevirt-virt-handler-certs              Secret          tls.crt                   Yes        virt-api-6c94b5895b-hd824,virt-api-6c94b5895b-lthfp,virt-handler-hlqlv,virt-handler-v5nq7
        openshift-cnv                  kubevirt-virt-handler-server-certs       Secret          tls.crt                   Yes        virt-handler-hlqlv,virt-handler-v5nq7
        openshift-cnv                  plugin-serving-cert                      Secret          tls.crt                   Yes        kubevirt-console-plugin-7c57dfd9bb-bnclt,kubevirt-console-plugin-7c57dfd9bb-ltjhf
        openshift-cnv                  ssp-operator-service-cert                Secret          olmCAKey                  Yes        ssp-operator-58d75bfd68-966pw,ssp-operator-58d75bfd68-966pw
        openshift-cnv                  ssp-operator-service-cert                Secret          tls.crt                   Yes        ssp-operator-58d75bfd68-966pw,ssp-operator-58d75bfd68-966pw
        openshift-cnv                  virt-template-validator-certs            Secret          tls.crt                   Yes        virt-template-validator-8469bf6d5-4f27j,virt-template-validator-8469bf6d5-bpwpk
        openshift-cnv                  cdi-apiserver-signer-bundle              ConfigMap       ca-bundle.crt             Yes        cdi-apiserver-756887b9d-jhm4l
        openshift-cnv                  cdi-uploadserver-client-signer-bundle    ConfigMap       ca-bundle.crt             Yes        cdi-deployment-6786bb7f8d-jvm8h
        openshift-cnv                  cdi-uploadserver-signer-bundle           ConfigMap       ca-bundle.crt             Yes        cdi-deployment-6786bb7f8d-jvm8h
        openshift-config-operator      config-operator-serving-cert             Secret          tls.crt                   Yes        openshift-config-operator-84cbc8b945-749jq
        openshift-console              console-serving-cert                     Secret          tls.crt                   Yes        console-79bcfb47dc-sfqzd,console-79bcfb47dc-x74h2
        openshift-console              oauth-serving-cert                       ConfigMap       ca-bundle.crt             Yes        console-79bcfb47dc-sfqzd,console-79bcfb47dc-x74h2
        openshift-console              service-ca                               ConfigMap       service-ca.crt            Yes        console-79bcfb47dc-sfqzd,console-79bcfb47dc-x74h2
        openshift-console-operator     serving-cert                             Secret          tls.crt                   Yes        console-operator-5b49775cb-dt5x2
        openshift-controller-manager   serving-cert                             Secret          tls.crt                   Yes        controller-manager-57799df4b6-4t7ph,controller-manager-57799df4b6-nrthw,controller-manager-57799df4b6-rvsfp
        openshift-controller-manager   client-ca                                ConfigMap       ca-bundle.crt             Yes        controller-manager-57799df4b6-4t7ph,controller-manager-57799df4b6-nrthw,controller-manager-57799df4b6-rvsfp
        openshift-controller-manager-operator openshift-controller-manager-operator-serving-cert Secret          tls.crt                   Yes        openshift-controller-manager-operator-6676dc9d9d-jtdns
        openshift-dns                  dns-default-metrics-tls                  Secret          tls.crt                   Yes        dns-default-9wx5h,dns-default-f9d6b,dns-default-hxxnj,dns-default-ml9kj,dns-default-qhqh6
        openshift-dns-operator         metrics-tls                              Secret          tls.crt                   Yes        dns-operator-79bdb84866-75zwq
        openshift-etcd-operator        etcd-client                              Secret          tls.crt                   Yes        etcd-operator-5964bd444b-rhdbb
        openshift-etcd-operator        etcd-operator-serving-cert               Secret          tls.crt                   Yes        etcd-operator-5964bd444b-rhdbb
        openshift-etcd-operator        etcd-ca-bundle                           ConfigMap       ca-bundle.crt             Yes        etcd-operator-5964bd444b-rhdbb
        openshift-etcd-operator        etcd-service-ca-bundle                   ConfigMap       service-ca.crt            Yes        etcd-operator-5964bd444b-rhdbb
        openshift-image-registry       image-registry-operator-tls              Secret          tls.crt                   Yes        cluster-image-registry-operator-655f745975-hh256
        openshift-image-registry       serviceca                                ConfigMap       service-ca.crt            Yes        image-pruner-29341440-shxgb
        openshift-ingress              router-certs-default                     Secret          tls.crt                   Yes        router-default-ccd7f76dc-4vbzb,router-default-ccd7f76dc-xk89b
        openshift-ingress              router-metrics-certs-default             Secret          tls.crt                   Yes        router-default-ccd7f76dc-4vbzb,router-default-ccd7f76dc-xk89b
        openshift-ingress              service-ca-bundle                        ConfigMap       service-ca.crt            Yes        router-default-ccd7f76dc-4vbzb,router-default-ccd7f76dc-xk89b
        openshift-ingress-canary       canary-serving-cert                      Secret          tls.crt                   Yes        ingress-canary-p7wfb,ingress-canary-vjk22
        openshift-ingress-operator     metrics-tls                              Secret          tls.crt                   Yes        ingress-operator-5b6cfcb4db-ll9cz
        openshift-insights             openshift-insights-serving-cert          Secret          tls.crt                   Yes        insights-operator-6d59cd74d-k65fp
        openshift-insights             service-ca-bundle                        ConfigMap       service-ca.crt            Yes        insights-operator-6d59cd74d-k65fp
        openshift-kube-apiserver-operator kube-apiserver-operator-serving-cert     Secret          tls.crt                   Yes        kube-apiserver-operator-5c85dd6dc4-rt57n
        openshift-kube-controller-manager-operator kube-controller-manager-operator-serving-cert Secret          tls.crt                   Yes        kube-controller-manager-operator-74669f959b-hw5bt
        openshift-kube-scheduler-operator kube-scheduler-operator-serving-cert     Secret          tls.crt                   Yes        openshift-kube-scheduler-operator-c4fb798c8-xlbl9
        openshift-kube-storage-version-migrator-operator serving-cert                             Secret          tls.crt                   Yes        kube-storage-version-migrator-operator-59dddb5bb9-8h8x2
        openshift-machine-api          baremetal-operator-webhook-server-cert   Secret          tls.crt                   Yes        metal3-baremetal-operator-6c9f48fbfd-jdx9s,metal3-cf57bd6cc-pbgdj
        openshift-machine-api          cluster-autoscaler-operator-cert         Secret          tls.crt                   Yes        cluster-autoscaler-operator-ccd65997c-mkgrl
        openshift-machine-api          cluster-baremetal-operator-tls           Secret          tls.crt                   Yes        cluster-baremetal-operator-75b88bb6f5-fllcz
        openshift-machine-api          cluster-baremetal-webhook-server-cert    Secret          tls.crt                   Yes        cluster-baremetal-operator-75b88bb6f5-fllcz
        openshift-machine-api          control-plane-machine-set-operator-tls   Secret          tls.crt                   Yes        control-plane-machine-set-operator-58857684fd-sclvm
        openshift-machine-api          machine-api-controllers-tls              Secret          tls.crt                   Yes        machine-api-controllers-79859b4c5b-9mwhc
        openshift-machine-api          machine-api-operator-machine-webhook-cert Secret          tls.crt                   Yes        machine-api-controllers-79859b4c5b-9mwhc
        openshift-machine-api          machine-api-operator-tls                 Secret          tls.crt                   Yes        machine-api-operator-6cd8d89f85-2wx2d
        openshift-machine-api          machine-api-operator-webhook-cert        Secret          tls.crt                   Yes        machine-api-controllers-79859b4c5b-9mwhc
        openshift-machine-api          metal3-ironic-tls                        Secret          tls.crt                   Yes        ironic-proxy-hnpkh,ironic-proxy-sfrck,ironic-proxy-sgmtv,metal3-baremetal-operator-6c9f48fbfd-jdx9s,metal3-cf57bd6cc-pbgdj,metal3-cf57bd6cc-pbgdj
        openshift-machine-config-operator machine-config-server-tls                Secret          tls.crt                   Yes        machine-config-server-95h7m,machine-config-server-kg497,machine-config-server-nktls
        openshift-machine-config-operator mcc-proxy-tls                            Secret          tls.crt                   Yes        machine-config-controller-74c587c5b7-n4gp6
        openshift-machine-config-operator mco-proxy-tls                            Secret          tls.crt                   Yes        machine-config-operator-7c7c9fd5d5-r6hh4
        openshift-machine-config-operator node-bootstrapper-token                  Secret          ca.crt                    Yes        machine-config-server-95h7m,machine-config-server-kg497,machine-config-server-nktls
        openshift-machine-config-operator node-bootstrapper-token                  Secret          service-ca.crt            Yes        machine-config-server-95h7m,machine-config-server-kg497,machine-config-server-nktls
        openshift-machine-config-operator proxy-tls                                Secret          tls.crt                   Yes        machine-config-daemon-c5xsg,machine-config-daemon-c8vb4,machine-config-daemon-dwjfs,machine-config-daemon-pzdmv,machine-config-daemon-wn445
        openshift-marketplace          marketplace-operator-metrics             Secret          tls.crt                   Yes        marketplace-operator-8f9b9fb7d-zwm85
        openshift-monitoring           alertmanager-main-tls                    Secret          tls.crt                   Yes        alertmanager-main-0,alertmanager-main-1
        openshift-monitoring           cluster-monitoring-operator-tls          Secret          tls.crt                   Yes        cluster-monitoring-operator-65994857cb-c7lzr
        openshift-monitoring           federate-client-certs                    Secret          tls.crt                   Yes        telemeter-client-649877dcbf-56qwb
        openshift-monitoring           kube-state-metrics-tls                   Secret          tls.crt                   Yes        kube-state-metrics-6df76c88bc-qtg9h
        openshift-monitoring           metrics-client-certs                     Secret          tls.crt                   Yes        metrics-server-cc6c4bf86-t8n7l,metrics-server-cc6c4bf86-tz6mv,prometheus-k8s-0,prometheus-k8s-1
        openshift-monitoring           metrics-server-27h06ve19b34m             Secret          client-ca-file            Yes        metrics-server-cc6c4bf86-t8n7l,metrics-server-cc6c4bf86-tz6mv
        openshift-monitoring           metrics-server-27h06ve19b34m             Secret          requestheader-client-ca-file Yes        metrics-server-cc6c4bf86-t8n7l,metrics-server-cc6c4bf86-tz6mv
        openshift-monitoring           metrics-server-27h06ve19b34m             Secret          tls.crt                   Yes        metrics-server-cc6c4bf86-t8n7l,metrics-server-cc6c4bf86-tz6mv
        openshift-monitoring           metrics-server-tls                       Secret          tls.crt                   Yes        metrics-server-cc6c4bf86-t8n7l,metrics-server-cc6c4bf86-tz6mv
        openshift-monitoring           monitoring-plugin-cert                   Secret          tls.crt                   Yes        monitoring-plugin-56b7798bcd-dgggj,monitoring-plugin-56b7798bcd-m8hxr
        openshift-monitoring           node-exporter-tls                        Secret          tls.crt                   Yes        node-exporter-bcpkw,node-exporter-jh5tj,node-exporter-p6f6l,node-exporter-s89d5,node-exporter-vg6d4
        openshift-monitoring           openshift-state-metrics-tls              Secret          tls.crt                   Yes        openshift-state-metrics-8ddcc6b87-2g5gs
        openshift-monitoring           prometheus-k8s-grpc-tls-ai1pjcpq5svdd    Secret          ca.crt                    Yes        prometheus-k8s-0,prometheus-k8s-1
        openshift-monitoring           prometheus-k8s-grpc-tls-ai1pjcpq5svdd    Secret          server.crt                Yes        prometheus-k8s-0,prometheus-k8s-1
        openshift-monitoring           prometheus-k8s-thanos-sidecar-tls        Secret          tls.crt                   Yes        prometheus-k8s-0,prometheus-k8s-1
        openshift-monitoring           prometheus-k8s-tls                       Secret          tls.crt                   Yes        prometheus-k8s-0,prometheus-k8s-1
        openshift-monitoring           prometheus-operator-admission-webhook-tls Secret          tls.crt                   Yes        prometheus-operator-admission-webhook-9689fcf8d-qvp6s,prometheus-operator-admission-webhook-9689fcf8d-xwfhh
        openshift-monitoring           prometheus-operator-tls                  Secret          tls.crt                   Yes        prometheus-operator-5498867974-wh8cq
        openshift-monitoring           telemeter-client-tls                     Secret          tls.crt                   Yes        telemeter-client-649877dcbf-56qwb
        openshift-monitoring           thanos-querier-grpc-tls-2lj4ol37s9vin    Secret          ca.crt                    Yes        thanos-querier-cdc655-999fw,thanos-querier-cdc655-x2lrd
        openshift-monitoring           thanos-querier-grpc-tls-2lj4ol37s9vin    Secret          client.crt                Yes        thanos-querier-cdc655-999fw,thanos-querier-cdc655-x2lrd
        openshift-monitoring           thanos-querier-tls                       Secret          tls.crt                   Yes        thanos-querier-cdc655-999fw,thanos-querier-cdc655-x2lrd
        openshift-monitoring           kubelet-serving-ca-bundle                ConfigMap       ca-bundle.crt             Yes        metrics-server-cc6c4bf86-t8n7l,metrics-server-cc6c4bf86-tz6mv,prometheus-k8s-0,prometheus-k8s-1
        openshift-monitoring           metrics-client-ca                        ConfigMap       client-ca.crt             Yes        alertmanager-main-0,alertmanager-main-1,kube-state-metrics-6df76c88bc-qtg9h,node-exporter-bcpkw,node-exporter-jh5tj,node-exporter-p6f6l,node-exporter-s89d5,node-exporter-vg6d4,openshift-state-metrics-8ddcc6b87-2g5gs,prometheus-k8s-0,prometheus-k8s-1,prometheus-operator-5498867974-wh8cq,telemeter-client-649877dcbf-56qwb,thanos-querier-cdc655-999fw,thanos-querier-cdc655-x2lrd
        openshift-monitoring           serving-certs-ca-bundle                  ConfigMap       service-ca.crt            Yes        prometheus-k8s-0,prometheus-k8s-1
        openshift-monitoring           telemeter-client-serving-certs-ca-bundle ConfigMap       service-ca.crt            Yes        telemeter-client-649877dcbf-56qwb
        openshift-multus               metrics-daemon-secret                    Secret          tls.crt                   Yes        network-metrics-daemon-4d5xc,network-metrics-daemon-6vq85,network-metrics-daemon-ncgh4,network-metrics-daemon-qkkcr,network-metrics-daemon-tskrx
        openshift-multus               multus-admission-controller-secret       Secret          tls.crt                   Yes        multus-admission-controller-6694ff8986-7j74t,multus-admission-controller-6694ff8986-jkdfs
        openshift-network-console      networking-console-plugin-cert           Secret          tls.crt                   Yes        networking-console-plugin-6657c799c8-7fpb7,networking-console-plugin-6657c799c8-zc45g
        openshift-network-node-identity network-node-identity-cert               Secret          tls.crt                   Yes        network-node-identity-4d67q,network-node-identity-lncd9,network-node-identity-wbvvt
        openshift-network-operator     metrics-tls                              Secret          tls.crt                   Yes        network-operator-799856644c-prvht
        openshift-oauth-apiserver      etcd-client                              Secret          tls.crt                   Yes        apiserver-ddcdcd6bd-4s575,apiserver-ddcdcd6bd-9fd2w,apiserver-ddcdcd6bd-9qc45
        openshift-oauth-apiserver      serving-cert                             Secret          tls.crt                   Yes        apiserver-ddcdcd6bd-4s575,apiserver-ddcdcd6bd-9fd2w,apiserver-ddcdcd6bd-9qc45
        openshift-oauth-apiserver      etcd-serving-ca                          ConfigMap       ca-bundle.crt             Yes        apiserver-ddcdcd6bd-4s575,apiserver-ddcdcd6bd-9fd2w,apiserver-ddcdcd6bd-9qc45
        openshift-operator-lifecycle-manager catalog-operator-serving-cert            Secret          tls.crt                   Yes        catalog-operator-75b8957c45-2pf48
        openshift-operator-lifecycle-manager olm-operator-serving-cert                Secret          tls.crt                   Yes        olm-operator-5b7f78c6b6-shm82
        openshift-operator-lifecycle-manager package-server-manager-serving-cert      Secret          tls.crt                   Yes        package-server-manager-754bf578b7-8mkz4
        openshift-operator-lifecycle-manager packageserver-service-cert               Secret          olmCAKey                  Yes        packageserver-64878d4dd5-465xp,packageserver-64878d4dd5-465xp,packageserver-64878d4dd5-sd9qv,packageserver-64878d4dd5-sd9qv
        openshift-operator-lifecycle-manager packageserver-service-cert               Secret          tls.crt                   Yes        packageserver-64878d4dd5-465xp,packageserver-64878d4dd5-465xp,packageserver-64878d4dd5-sd9qv,packageserver-64878d4dd5-sd9qv
        openshift-operator-lifecycle-manager pprof-cert                               Secret          tls.crt                   Yes        catalog-operator-75b8957c45-2pf48,collect-profiles-29342025-qgc2r,collect-profiles-29342040-fhkd8,collect-profiles-29342055-sfxjb,olm-operator-5b7f78c6b6-shm82
        openshift-ovn-kubernetes       ovn-control-plane-metrics-cert           Secret          tls.crt                   Yes        ovnkube-control-plane-8944998dd-75q5l,ovnkube-control-plane-8944998dd-gfw6k
        openshift-ovn-kubernetes       ovn-node-metrics-cert                    Secret          tls.crt                   Yes        ovnkube-node-7fbbw,ovnkube-node-cs8vj,ovnkube-node-nb2kg,ovnkube-node-w4lzz,ovnkube-node-zhfd9
        openshift-route-controller-manager serving-cert                             Secret          tls.crt                   Yes        route-controller-manager-5cf9c49b58-5g6sr,route-controller-manager-5cf9c49b58-rnnkz,route-controller-manager-5cf9c49b58-swdpx
        openshift-route-controller-manager client-ca                                ConfigMap       ca-bundle.crt             Yes        route-controller-manager-5cf9c49b58-5g6sr,route-controller-manager-5cf9c49b58-rnnkz,route-controller-manager-5cf9c49b58-swdpx
        openshift-service-ca           signing-key                              Secret          tls.crt                   Yes        service-ca-9fb465979-jchfr
        openshift-service-ca           signing-cabundle                         ConfigMap       ca-bundle.crt             Yes        service-ca-9fb465979-jchfr
        openshift-service-ca-operator  serving-cert                             Secret          tls.crt                   Yes        service-ca-operator-647d5866b5-nkzp5
        ======================================================================================================================================================
        Scan complete.