--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-10-22T16:49:23Z" generation: 1 labels: hypershift.openshift.io/managed: "true" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:hypershift.openshift.io/managed: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:labels: .: {} f:app: {} f:spec: f:automountServiceAccountToken: {} f:containers: k:{"name":"connection-checker"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:runAsNonRoot: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} manager: hosted-cluster-config-operator-manager operation: Update time: "2026-10-22T16:49:23Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-22T16:56:40Z" name: kas-connection-checker namespace: kube-system resourceVersion: "6955" uid: 69d59128-9a68-4f3c-9855-e3a0e5568aaa spec: progressDeadlineSeconds: 600 replicas: 3 revisionHistoryLimit: 10 selector: matchLabels: app: kas-connection-checker strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app: kas-connection-checker spec: automountServiceAccountToken: true containers: - command: - /bin/sh - -c - |- #!/bin/sh ENDPOINT=/version CONFIGMAP_NAME=control-plane-connectivity-check NAMESPACE=kube-system while true; do TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) CACERT=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt HTTP_CODE=$(curl --cacert ${CACERT} -s -o /dev/null -w "%{http_code}" \ --connect-timeout 5 --max-time 10 \ "https://kubernetes.default.svc${ENDPOINT}" 2>/dev/null) if [ "$HTTP_CODE" = "200" ]; then NOW=$(date -u +%Y-%m-%dT%H:%M:%SZ) curl --cacert ${CACERT} -s -o /dev/null \ -X PATCH \ -H "Authorization: Bearer ${TOKEN}" \ -H "Content-Type: application/strategic-merge-patch+json" \ --data "{\"data\":{\"lastSucceeded\":\"${NOW}\"}}" \ "https://kubernetes.default.svc/api/v1/namespaces/${NAMESPACE}/configmaps/${CONFIGMAP_NAME}" 2>/dev/null fi sleep 60 done image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b53c02402f56fe6460a764c1d212022131d551f58d63936f1cc1cff6df5ac63c imagePullPolicy: IfNotPresent name: connection-checker resources: requests: cpu: 5m memory: 10Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError dnsPolicy: ClusterFirst priorityClassName: system-node-critical restartPolicy: Always schedulerName: default-scheduler securityContext: runAsUser: 1000 serviceAccount: kas-connection-checker serviceAccountName: kas-connection-checker terminationGracePeriodSeconds: 30 tolerations: - effect: NoSchedule operator: Exists - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 120 - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 120 status: availableReplicas: 3 conditions: - lastTransitionTime: "2026-10-22T16:56:40Z" lastUpdateTime: "2026-10-22T16:56:40Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-10-22T16:49:23Z" lastUpdateTime: "2026-10-22T16:56:40Z" message: ReplicaSet "kas-connection-checker-58bf4fb6bf" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 3 replicas: 3 terminatingReplicas: 0 updatedReplicas: 3 kind: DeploymentList metadata: resourceVersion: "21552"