--- apiVersion: v1 items: - apiVersion: v1 kind: Pod metadata: annotations: app.opendatahub.io/KserveConfigHash: P35ozkSL0msVEalVZIGO0zuFehzAwvjUWSycn-gndok k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.24/23"],"mac_address":"0a:58:0a:84:00:18","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.24/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.24" ], "mac": "0a:58:0a:84:00:18", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:17:01Z" generateName: kserve-controller-manager-d6f4b65b8- generation: 1 labels: app.kubernetes.io/name: kserve-controller-manager app.kubernetes.io/part-of: kserve app.opendatahub.io/kserve: "true" control-plane: kserve-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: d6f4b65b8 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-131-31 operation: Update subresource: status time: "2026-07-03T19:17:01Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:app.opendatahub.io/KserveConfigHash: {} f:kubectl.kubernetes.io/default-container: {} f:generateName: {} f:labels: .: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.opendatahub.io/kserve: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"070665e1-5e31-47f5-b71f-a73d93285dc2"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"LLM_INFERENCE_SERVICE_CONFIG_PREFIX"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"SECRET_NAME"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:privileged: {} f:readOnlyRootFilesystem: {} f:runAsNonRoot: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:17:01Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:17:02Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.24"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:17:36Z" name: kserve-controller-manager-d6f4b65b8-nnjh6 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: kserve-controller-manager-d6f4b65b8 uid: 070665e1-5e31-47f5-b71f-a73d93285dc2 resourceVersion: "15986" uid: e7f10adb-7f2a-41c7-ae5b-38da4832f9f3 spec: containers: - args: - --metrics-addr=127.0.0.1:8080 - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: SECRET_NAME value: kserve-webhook-server-cert - name: LLM_INFERENCE_SERVICE_CONFIG_PREFIX value: v3-5-0-ea-2-kserve- image: quay.io/opendatahub/kserve-controller:odh-v3.5-EA2 imagePullPolicy: Always livenessProbe: failureThreshold: 5 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: limits: cpu: 500m memory: 500Mi requests: cpu: 100m memory: 200Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-dkp9z readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: kserve-controller-manager-dockercfg-5ljdq nodeName: ip-10-0-131-31.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: kserve-controller-manager serviceAccountName: kserve-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: kserve-webhook-server-cert - name: kube-api-access-dkp9z projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:05Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:01Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:36Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:36Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:01Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 100m memory: 200Mi containerID: cri-o://33bf11ca39ec194591f377041b65b52edcaf8163bb684b84fdfb95d091f2e7f1 image: quay.io/opendatahub/kserve-controller:odh-v3.5-EA2 imageID: quay.io/opendatahub/kserve-controller@sha256:0367496c5c5155e53df50ad25a64a7016e5f7496ae22a4c9dedce7d296b8e9e1 lastState: {} name: manager ready: true resources: limits: cpu: 500m memory: 500Mi requests: cpu: 100m memory: 200Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:17:04Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-dkp9z readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.131.31 hostIPs: - ip: 10.0.131.31 observedGeneration: 1 phase: Running podIP: 10.132.0.24 podIPs: - ip: 10.132.0.24 qosClass: Burstable startTime: "2026-07-03T19:17:01Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.25/23"],"mac_address":"0a:58:0a:84:00:19","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.25/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.25" ], "mac": "0a:58:0a:84:00:19", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:17:01Z" generateName: llmisvc-controller-manager-777c6bd7d5- generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: llmisvc-controller-manager app.kubernetes.io/part-of: kserve app.opendatahub.io/kserve: "true" control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 777c6bd7d5 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-131-31 operation: Update subresource: status time: "2026-07-03T19:17:01Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:generateName: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.opendatahub.io/kserve: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"479a18b2-f71f-467b-acdf-eebe435bd615"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"LLM_INFERENCE_SERVICE_CONFIG_PREFIX"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:privileged: {} f:readOnlyRootFilesystem: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:17:01Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:17:02Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.25"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:17:36Z" name: llmisvc-controller-manager-777c6bd7d5-xkmp5 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: llmisvc-controller-manager-777c6bd7d5 uid: 479a18b2-f71f-467b-acdf-eebe435bd615 resourceVersion: "15980" uid: e5211f10-77bd-4d1e-8b20-c4e2c578a9d8 spec: containers: - args: - --metrics-addr=127.0.0.1:8443 - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: LLM_INFERENCE_SERVICE_CONFIG_PREFIX value: v3-5-0-ea-2-kserve- image: quay.io/opendatahub/odh-kserve-llmisvc-controller:odh-v3.5-EA2 imagePullPolicy: Always livenessProbe: failureThreshold: 5 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP - containerPort: 8443 name: metrics protocol: TCP readinessProbe: failureThreshold: 5 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: limits: cpu: 100m memory: 300Mi requests: cpu: 100m memory: 300Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000660000 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-h9k54 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: llmisvc-controller-manager-dockercfg-dp2cq nodeName: ip-10-0-131-31.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: llmisvc-controller-manager serviceAccountName: llmisvc-controller-manager terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: llmisvc-webhook-server-cert - name: kube-api-access-h9k54 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:05Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:01Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:36Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:36Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:01Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 100m memory: 300Mi containerID: cri-o://7bde76240ec15d9569d20e3cfa3ed85dbb64db6bdf3ffef28bff4eb8e5cf0c7e image: quay.io/opendatahub/odh-kserve-llmisvc-controller:odh-v3.5-EA2 imageID: quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:69f28de9d143763eab2e1375f62f916b462a137aeb1c0f72be43ab1345e87f6c lastState: {} name: manager ready: true resources: limits: cpu: 100m memory: 300Mi requests: cpu: 100m memory: 300Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:17:05Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-h9k54 readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.131.31 hostIPs: - ip: 10.0.131.31 observedGeneration: 1 phase: Running podIP: 10.132.0.25 podIPs: - ip: 10.132.0.25 qosClass: Guaranteed startTime: "2026-07-03T19:17:01Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.48/23"],"mac_address":"0a:58:0a:86:00:30","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.48/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.48" ], "mac": "0a:58:0a:86:00:30", "default": true, "dns": {} }] openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:21:16Z" generateName: maas-api-6b8cb6fc6- generation: 1 labels: app.kubernetes.io/component: api app.kubernetes.io/name: maas-api app.kubernetes.io/part-of: models-as-a-service maas.opendatahub.io/tenant-instance: maas-api pod-template-hash: 6b8cb6fc6 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-130-57 operation: Update subresource: status time: "2026-07-03T19:21:16Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:maas.opendatahub.io/tenant-instance: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"1eccdbb7-bd44-431d-8c8b-71cb73d207b8"}: {} f:spec: f:containers: k:{"name":"maas-api"}: .: {} f:env: .: {} k:{"name":"API_KEY_MAX_EXPIRATION_DAYS"}: .: {} f:name: {} f:value: {} k:{"name":"GATEWAY_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"GATEWAY_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MAAS_SUBSCRIPTION_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"METRICS_PORT"}: .: {} f:name: {} f:value: {} k:{"name":"NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"SECURE"}: .: {} f:name: {} f:value: {} k:{"name":"SSL_CERT_DIR"}: .: {} f:name: {} f:value: {} k:{"name":"TENANT_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"TLS_CERT"}: .: {} f:name: {} f:value: {} k:{"name":"TLS_KEY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:runAsNonRoot: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/maas-api/tls"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/etc/ssl/certs/openshift-service-ca"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"maas-api-tls"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"openshift-service-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:21:16Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:21:16Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.48"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:21:25Z" name: maas-api-6b8cb6fc6-nvnpv namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: maas-api-6b8cb6fc6 uid: 1eccdbb7-bd44-431d-8c8b-71cb73d207b8 resourceVersion: "22879" uid: 90270640-b967-47cf-b825-d611623ee17b spec: containers: - env: - name: SECURE value: "true" - name: TLS_CERT value: /etc/maas-api/tls/tls.crt - name: TLS_KEY value: /etc/maas-api/tls/tls.key - name: SSL_CERT_DIR value: /etc/ssl/certs:/etc/ssl/certs/openshift-service-ca - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: MAAS_SUBSCRIPTION_NAMESPACE value: models-as-a-service - name: METRICS_PORT value: "9090" - name: GATEWAY_NAMESPACE value: openshift-ingress - name: GATEWAY_NAME value: maas-default-gateway - name: API_KEY_MAX_EXPIRATION_DAYS value: "90" - name: TENANT_NAME value: models-as-a-service image: quay.io/opendatahub/maas-api@sha256:4ad680a5f1bf6063ade32ed8d904af563a1d2d12f800994e69612031dc9af41a imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /health port: https scheme: HTTPS initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: maas-api ports: - containerPort: 8443 name: https protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /health port: https scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 resources: limits: cpu: 200m memory: 128Mi requests: cpu: 50m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/maas-api/tls name: maas-api-tls readOnly: true - mountPath: /etc/ssl/certs/openshift-service-ca name: openshift-service-ca readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-jq8zw readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: maas-api-dockercfg-t7rd4 nodeName: ip-10-0-130-57.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: maas-api serviceAccountName: maas-api terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: maas-api-tls secret: defaultMode: 420 secretName: maas-api-serving-cert - configMap: defaultMode: 420 name: openshift-service-ca.crt name: openshift-service-ca - name: kube-api-access-jq8zw projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:21:19Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:21:16Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:21:25Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:21:25Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:21:16Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 50m memory: 64Mi containerID: cri-o://ff79febcd4b322b9a5dd088a5d7f66bfd0a3acc88153a92c559646bf0b94aa40 image: quay.io/opendatahub/maas-api@sha256:4ad680a5f1bf6063ade32ed8d904af563a1d2d12f800994e69612031dc9af41a imageID: quay.io/opendatahub/maas-api@sha256:4ad680a5f1bf6063ade32ed8d904af563a1d2d12f800994e69612031dc9af41a lastState: {} name: maas-api ready: true resources: limits: cpu: 200m memory: 128Mi requests: cpu: 50m memory: 64Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:21:19Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /etc/maas-api/tls name: maas-api-tls readOnly: true recursiveReadOnly: Disabled - mountPath: /etc/ssl/certs/openshift-service-ca name: openshift-service-ca readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-jq8zw readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.130.57 hostIPs: - ip: 10.0.130.57 observedGeneration: 1 phase: Running podIP: 10.134.0.48 podIPs: - ip: 10.134.0.48 qosClass: Burstable startTime: "2026-07-03T19:21:16Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.54/23"],"mac_address":"0a:58:0a:86:00:36","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.54/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.54" ], "mac": "0a:58:0a:86:00:36", "default": true, "dns": {} }] openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:30:00Z" generateName: maas-api-key-cleanup-29718450- generation: 1 labels: app: maas-api-cleanup app.kubernetes.io/component: api app.kubernetes.io/name: maas-api app.kubernetes.io/part-of: models-as-a-service batch.kubernetes.io/controller-uid: bd2cbbc3-694b-484b-9a73-5edc77f1e94d batch.kubernetes.io/job-name: maas-api-key-cleanup-29718450 controller-uid: bd2cbbc3-694b-484b-9a73-5edc77f1e94d job-name: maas-api-key-cleanup-29718450 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-130-57 operation: Update subresource: status time: "2026-07-03T19:30:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} f:labels: .: {} f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:batch.kubernetes.io/controller-uid: {} f:batch.kubernetes.io/job-name: {} f:controller-uid: {} f:job-name: {} f:ownerReferences: .: {} k:{"uid":"bd2cbbc3-694b-484b-9a73-5edc77f1e94d"}: {} f:spec: f:containers: k:{"name":"cleanup"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} 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:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:30:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:30:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:reason: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.54"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:30:06Z" name: maas-api-key-cleanup-29718450-8kkm2 namespace: opendatahub ownerReferences: - apiVersion: batch/v1 blockOwnerDeletion: true controller: true kind: Job name: maas-api-key-cleanup-29718450 uid: bd2cbbc3-694b-484b-9a73-5edc77f1e94d resourceVersion: "30406" uid: e7526158-7e67-4bbf-a484-8a27ad89c155 spec: containers: - command: - /bin/sh - -c - | curl -sf -k -X POST https://maas-api:8443/internal/v1/api-keys/cleanup image: registry.redhat.io/ubi9/ubi-minimal:9.7 imagePullPolicy: IfNotPresent name: cleanup resources: limits: cpu: 50m memory: 32Mi requests: cpu: 10m memory: 16Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-6jkww readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: maas-api-dockercfg-t7rd4 nodeName: ip-10-0-130-57.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: OnFailure schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: maas-api serviceAccountName: maas-api terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: kube-api-access-6jkww projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:30:06Z" observedGeneration: 1 status: "False" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:30:00Z" observedGeneration: 1 reason: PodCompleted status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:30:05Z" observedGeneration: 1 reason: PodCompleted status: "False" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:30:05Z" observedGeneration: 1 reason: PodCompleted status: "False" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:30:00Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 10m memory: 16Mi containerID: cri-o://d6b85f6bd5e1a3ed8114d14f8193c2d9e7fe1567dbbf421bbbfb56ac436a5171 image: registry.redhat.io/ubi9/ubi-minimal:9.7 imageID: registry.redhat.io/ubi9/ubi-minimal@sha256:907b68736aa798b2d38255b7aa070b2a70acb90803864a40f05d0ec47556ddd0 lastState: {} name: cleanup ready: false resources: limits: cpu: 50m memory: 32Mi requests: cpu: 10m memory: 16Mi restartCount: 0 started: false state: terminated: containerID: cri-o://d6b85f6bd5e1a3ed8114d14f8193c2d9e7fe1567dbbf421bbbfb56ac436a5171 exitCode: 0 finishedAt: "2026-07-03T19:30:04Z" reason: Completed startedAt: "2026-07-03T19:30:03Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-6jkww readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.130.57 hostIPs: - ip: 10.0.130.57 observedGeneration: 1 phase: Succeeded podIP: 10.134.0.54 podIPs: - ip: 10.134.0.54 qosClass: Burstable startTime: "2026-07-03T19:30:00Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.53/23"],"mac_address":"0a:58:0a:86:00:35","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.53/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.53" ], "mac": "0a:58:0a:86:00:35", "default": true, "dns": {} }] kubectl.kubernetes.io/restartedAt: "2026-07-03T19:20:40Z" openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:27:00Z" generateName: maas-controller-8689fb654f- generation: 1 labels: app: maas-controller control-plane: maas-controller pod-template-hash: 8689fb654f managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-130-57 operation: Update subresource: status time: "2026-07-03T19:27:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:generateName: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"2ee9b40d-3ee7-45cf-850b-e62cd1e94066"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"AITENANT_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"CONTROLLER_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"GATEWAY_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"GATEWAY_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MAAS_API_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"MAAS_SUBSCRIPTION_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MONITORING_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_AI_GATEWAY_PAYLOAD_PROCESSING_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_MAAS_API_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_UBI_MINIMAL_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:27:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:27:00Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.53"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:27:12Z" name: maas-controller-8689fb654f-fh9c6 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: maas-controller-8689fb654f uid: 2ee9b40d-3ee7-45cf-850b-e62cd1e94066 resourceVersion: "28108" uid: e143bcba-0998-401a-88ca-9c108ba65fd0 spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 - --controller-namespace=$(CONTROLLER_NAMESPACE) - --gateway-name=$(GATEWAY_NAME) - --gateway-namespace=$(GATEWAY_NAMESPACE) - --maas-api-namespace=$(MAAS_API_NAMESPACE) - --maas-subscription-namespace=$(MAAS_SUBSCRIPTION_NAMESPACE) - --aitenant-namespace=$(AITENANT_NAMESPACE) - --monitoring-namespace=$(MONITORING_NAMESPACE) - --enable-tenant-namespace-discovery - --metadata-cache-ttl=60 - --authz-cache-ttl=60 command: - /manager env: - name: CONTROLLER_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: GATEWAY_NAME value: maas-default-gateway - name: GATEWAY_NAMESPACE value: openshift-ingress - name: MAAS_API_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: MAAS_SUBSCRIPTION_NAMESPACE value: models-as-a-service - name: AITENANT_NAMESPACE value: ai-tenants - name: RELATED_IMAGE_ODH_MAAS_API_IMAGE valueFrom: configMapKeyRef: key: maas-api-image name: maas-parameters optional: true - name: RELATED_IMAGE_ODH_AI_GATEWAY_PAYLOAD_PROCESSING_IMAGE valueFrom: configMapKeyRef: key: payload-processing-image name: maas-parameters optional: true - name: RELATED_IMAGE_UBI_MINIMAL_IMAGE valueFrom: configMapKeyRef: key: maas-api-key-cleanup-image name: maas-parameters optional: true - name: MONITORING_NAMESPACE valueFrom: configMapKeyRef: key: monitoring-namespace name: maas-parameters optional: true image: quay.io/opendatahub/maas-controller@sha256:677189d8f4064f6a4f212270dece5dd11c8c7d56e389f91c7f45bb505f748cf8 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8080 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-nnbpg readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: maas-controller-dockercfg-7rdmp nodeName: ip-10-0-130-57.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: maas-controller serviceAccountName: maas-controller terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: webhook-cert secret: defaultMode: 420 secretName: maas-controller-webhook-cert - name: kube-api-access-nnbpg projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:27:01Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:27:00Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:27:12Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:27:12Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:27:00Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 10m memory: 64Mi containerID: cri-o://700bc44692dd69fe5e770c4f6ecf0d501458eea944fc738e4cb8239e80a1a790 image: quay.io/opendatahub/maas-controller@sha256:677189d8f4064f6a4f212270dece5dd11c8c7d56e389f91c7f45bb505f748cf8 imageID: quay.io/opendatahub/maas-controller@sha256:677189d8f4064f6a4f212270dece5dd11c8c7d56e389f91c7f45bb505f748cf8 lastState: {} name: manager ready: true resources: limits: cpu: 500m memory: 512Mi requests: cpu: 10m memory: 64Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:27:01Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-nnbpg readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.130.57 hostIPs: - ip: 10.0.130.57 observedGeneration: 1 phase: Running podIP: 10.134.0.53 podIPs: - ip: 10.134.0.53 qosClass: Burstable startTime: "2026-07-03T19:27:00Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.30/23"],"mac_address":"0a:58:0a:86:00:1e","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.30/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.30" ], "mac": "0a:58:0a:86:00:1e", "default": true, "dns": {} }] openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:16:50Z" generateName: model-serving-api-54d89bd5fc- generation: 1 labels: app: model-serving-api app.kubernetes.io/component: server app.kubernetes.io/name: model-serving-api app.kubernetes.io/part-of: odh-model-controller app.opendatahub.io/odh-model-controller: "true" pod-template-hash: 54d89bd5fc managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-130-57 operation: Update subresource: status time: "2026-07-03T19:16:50Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} f:labels: .: {} f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.opendatahub.io/odh-model-controller: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"93fc5b9d-1151-4424-8956-710b00b61167"}: {} f:spec: f:containers: k:{"name":"server"}: .: {} f:env: .: {} k:{"name":"GATEWAY_LABEL_SELECTOR"}: .: {} f:name: {} k:{"name":"TLS_CERT_DIR"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tls"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:topologySpreadConstraints: .: {} k:{"topologyKey":"kubernetes.io/hostname","whenUnsatisfiable":"ScheduleAnyway"}: .: {} f:labelSelector: {} f:maxSkew: {} f:topologyKey: {} f:whenUnsatisfiable: {} k:{"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway"}: .: {} f:labelSelector: {} f:maxSkew: {} f:topologyKey: {} f:whenUnsatisfiable: {} f:volumes: .: {} k:{"name":"tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:16:50Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:16:51Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.30"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:17:08Z" name: model-serving-api-54d89bd5fc-vdbk2 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: model-serving-api-54d89bd5fc uid: 93fc5b9d-1151-4424-8956-710b00b61167 resourceVersion: "15742" uid: e372f4e3-daa8-4c52-b641-44831273f48f spec: containers: - env: - name: TLS_CERT_DIR value: /tls - name: GATEWAY_LABEL_SELECTOR image: quay.io/opendatahub/odh-model-serving-api:odh-v3.5-EA2 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8443 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 name: server ports: - containerPort: 8443 name: https protocol: TCP - containerPort: 8080 name: metrics protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8443 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 1Gi requests: cpu: 50m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tls name: tls-certs readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-vfxxl readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true nodeName: ip-10-0-130-57.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: model-serving-api serviceAccountName: model-serving-api terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists topologySpreadConstraints: - labelSelector: matchLabels: app: model-serving-api app.kubernetes.io/component: server app.kubernetes.io/name: model-serving-api app.kubernetes.io/part-of: odh-model-controller maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway - labelSelector: matchLabels: app: model-serving-api app.kubernetes.io/component: server app.kubernetes.io/name: model-serving-api app.kubernetes.io/part-of: odh-model-controller maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: ScheduleAnyway volumes: - name: tls-certs secret: defaultMode: 420 secretName: model-serving-api-tls - name: kube-api-access-vfxxl projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:57Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:50Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:08Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:08Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:50Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 50m memory: 64Mi containerID: cri-o://1cf0c3e51576319820b6e4fe6c27e3a0e0a70c931fe571cf451fe922e4506263 image: quay.io/opendatahub/odh-model-serving-api:odh-v3.5-EA2 imageID: quay.io/opendatahub/odh-model-serving-api@sha256:1929e79badf1d62e5b70ce54c9e7d8ade0b0d411b05d72a032ce2f1bb84dce69 lastState: {} name: server ready: true resources: limits: cpu: 500m memory: 1Gi requests: cpu: 50m memory: 64Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:16:56Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tls name: tls-certs readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-vfxxl readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.130.57 hostIPs: - ip: 10.0.130.57 observedGeneration: 1 phase: Running podIP: 10.134.0.30 podIPs: - ip: 10.134.0.30 qosClass: Burstable startTime: "2026-07-03T19:16:50Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.29/23"],"mac_address":"0a:58:0a:86:00:1d","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.29/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.29" ], "mac": "0a:58:0a:86:00:1d", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:16:50Z" generateName: odh-model-controller-7998c67dc4- generation: 1 labels: app: odh-model-controller app.kubernetes.io/part-of: odh-model-controller app.opendatahub.io/odh-model-controller: "true" control-plane: odh-model-controller pod-template-hash: 7998c67dc4 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-130-57 operation: Update subresource: status time: "2026-07-03T19:16:50Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:generateName: {} f:labels: .: {} f:app: {} f:app.kubernetes.io/part-of: {} f:app.opendatahub.io/odh-model-controller: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"35ae5887-4524-47b2-9b84-3f7b6a8090d3"}: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"KSERVE_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"MODELREGISTRY_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"NIM_STATE"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:16:50Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:16:51Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.29"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:17:08Z" name: odh-model-controller-7998c67dc4-d4vbc namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: odh-model-controller-7998c67dc4 uid: 35ae5887-4524-47b2-9b84-3f7b6a8090d3 resourceVersion: "15736" uid: 8f6068d3-d38e-4af8-bc7b-86bb44554ce6 spec: containers: - args: - --metrics-bind-address=:8080 - --leader-elect - --health-probe-bind-address=:8081 command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: NIM_STATE value: managed - name: KSERVE_STATE value: managed - name: MODELREGISTRY_STATE value: removed image: quay.io/opendatahub/odh-model-controller:odh-v3.5-EA2 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 2Gi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-lqvwz readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: odh-model-controller-dockercfg-qx95l nodeName: ip-10-0-130-57.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: odh-model-controller serviceAccountName: odh-model-controller terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: odh-model-controller-webhook-cert - name: kube-api-access-lqvwz projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:57Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:50Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:08Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:17:08Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:50Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 10m memory: 64Mi containerID: cri-o://fa6d9062023b5dcf5808f4509f7a000ae5f32097a595e95b1edce4f86634a18b image: quay.io/opendatahub/odh-model-controller:odh-v3.5-EA2 imageID: quay.io/opendatahub/odh-model-controller@sha256:1e2397cbb77c598f2eaff55caa3f0ef39f9f499bc7388d4d92be8d2a5d5ff121 lastState: {} name: manager ready: true resources: limits: cpu: 500m memory: 2Gi requests: cpu: 10m memory: 64Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:16:56Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true recursiveReadOnly: Disabled - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-lqvwz readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.130.57 hostIPs: - ip: 10.0.130.57 observedGeneration: 1 phase: Running podIP: 10.134.0.29 podIPs: - ip: 10.134.0.29 qosClass: Burstable startTime: "2026-07-03T19:16:50Z" - apiVersion: v1 kind: Pod metadata: annotations: alm-examples: |- [ { "apiVersion": "datasciencecluster.opendatahub.io/v2", "kind": "DataScienceCluster", "metadata": { "labels": { "app.kubernetes.io/name": "datasciencecluster" }, "name": "default-dsc" }, "spec": { "components": { "aipipelines": { "managementState": "Managed" }, "dashboard": { "managementState": "Managed" }, "feastoperator": { "managementState": "Managed" }, "kserve": { "managementState": "Managed", "nim": { "managementState": "Managed" }, "rawDeploymentServiceConfig": "Headed", "wva": { "managementState": "Removed" } }, "kueue": { "managementState": "Removed" }, "llamastackoperator": { "managementState": "Removed" }, "mlflowoperator": { "managementState": "Removed" }, "modelregistry": { "managementState": "Managed", "registriesNamespace": "odh-model-registries" }, "ogx": { "managementState": "Removed" }, "ray": { "managementState": "Managed" }, "sparkoperator": { "managementState": "Removed" }, "trainer": { "managementState": "Managed" }, "trainingoperator": { "managementState": "Removed" }, "trustyai": { "managementState": "Managed" }, "workbenches": { "managementState": "Managed" } } } }, { "apiVersion": "dscinitialization.opendatahub.io/v2", "kind": "DSCInitialization", "metadata": { "labels": { "app.kubernetes.io/name": "dscinitialization" }, "name": "default-dsci" }, "spec": { "applicationsNamespace": "opendatahub", "monitoring": { "managementState": "Managed", "metrics": {}, "namespace": "opendatahub" }, "trustedCABundle": { "customCABundle": "", "managementState": "Managed" } } } ] capabilities: Full Lifecycle categories: AI/Machine Learning, Big Data certified: "False" containerImage: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 createdAt: "2026-06-25T09:46:28Z" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.20/23"],"mac_address":"0a:58:0a:84:00:14","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.20/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.20" ], "mac": "0a:58:0a:84:00:14", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager olm.operatorGroup: opendatahub-operatorgroup olm.operatorNamespace: opendatahub olm.targetNamespaces: "" olmcahash: 2b94b447b01e759a5d93fa636573a37064908bf18d4a1e0befad086bb8720422 openshift.io/scc: restricted-v2 operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Dashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"DataSciencePipelines","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"FeastOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Kserve","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Kueue","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"MLflowOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelController","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelRegistry","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelsAsService","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"OGX","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Ray","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"SparkOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Trainer","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"TrainingOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"TrustyAI","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Workbenches","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"config.opendatahub.io","kind":"Platform","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"datasciencecluster.opendatahub.io","kind":"DataScienceCluster","version":"v1"}},{"type":"olm.gvk","value":{"group":"datasciencecluster.opendatahub.io","kind":"DataScienceCluster","version":"v2"}},{"type":"olm.gvk","value":{"group":"dscinitialization.opendatahub.io","kind":"DSCInitialization","version":"v1"}},{"type":"olm.gvk","value":{"group":"dscinitialization.opendatahub.io","kind":"DSCInitialization","version":"v2"}},{"type":"olm.gvk","value":{"group":"features.opendatahub.io","kind":"FeatureTracker","version":"v1"}},{"type":"olm.gvk","value":{"group":"infrastructure.opendatahub.io","kind":"HardwareProfile","version":"v1"}},{"type":"olm.gvk","value":{"group":"infrastructure.opendatahub.io","kind":"HardwareProfile","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"Auth","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"GatewayConfig","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"Monitoring","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"opendatahub-operator","version":"3.5.0-ea.2"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.39.2 operators.operatorframework.io/internal-objects: '["featuretrackers.features.opendatahub.io", "dashboards.components.platform.opendatahub.io", "datasciencepipelines.components.platform.opendatahub.io", "kserves.components.platform.opendatahub.io", "kueues.components.platform.opendatahub.io", "modelregistries.components.platform.opendatahub.io", "rays.components.platform.opendatahub.io", "trainingoperators.components.platform.opendatahub.io", "trustyais.components.platform.opendatahub.io", "workbenches.components.platform.opendatahub.io", "monitorings.services.platform.opendatahub.io", "modelcontrollers.components.platform.opendatahub.io", "feastoperators.components.platform.opendatahub.io", "ogxs.components.platform.opendatahub.io", "trainers.components.platform.opendatahub.io", "mlflowoperators.components.platform.opendatahub.io", "modelsasservices.components.platform.opendatahub.io", "sparkoperators.components.platform.opendatahub.io"]' operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 repository: https://github.com/opendatahub-io/opendatahub-operator seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: serviceaccount creationTimestamp: "2026-07-03T19:16:30Z" generateName: opendatahub-operator-controller-manager-5db468f498- generation: 1 labels: control-plane: controller-manager name: opendatahub-operator pod-template-hash: 5db468f498 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-131-31 operation: Update subresource: status time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:containerImage: {} f:createdAt: {} f:kubectl.kubernetes.io/default-container: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:olmcahash: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/internal-objects: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:generateName: {} f:labels: .: {} f:control-plane: {} f:name: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"9f3f0c03-7d4a-49c1-b6a4-1bdf184f3278"}: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:requiredDuringSchedulingIgnoredDuringExecution: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"DEFAULT_CHARTS_PATH"}: .: {} f:name: {} f:value: {} k:{"name":"DEFAULT_MANIFESTS_PATH"}: .: {} f:name: {} f:value: {} k:{"name":"DISABLE_DSC_CONFIG"}: .: {} f:name: {} f:value: {} k:{"name":"ODH_PLATFORM_TYPE"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/apiserver.local.config/certificates"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:initContainers: .: {} k:{"name":"copy-manifests"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"apiservice-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"manifests"}: .: {} f:emptyDir: .: {} f:sizeLimit: {} f:name: {} k:{"name":"tmp"}: .: {} f:emptyDir: .: {} f:medium: {} f:sizeLimit: {} f:name: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:initContainerStatuses: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.20"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:16:47Z" name: opendatahub-operator-controller-manager-5db468f498-7jmzr namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: opendatahub-operator-controller-manager-5db468f498 uid: 9f3f0c03-7d4a-49c1-b6a4-1bdf184f3278 resourceVersion: "14249" uid: 869da249-1133-4a15-aa95-2eaf39678016 spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/os operator: In values: - linux podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: name operator: In values: - opendatahub-operator topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - --health-probe-bind-address=:8081 - --metrics-bind-address=0.0.0.0:8080 - --leader-elect command: - /manager env: - name: DISABLE_DSC_CONFIG value: "true" - name: OPERATOR_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: DEFAULT_MANIFESTS_PATH value: /opt/manifests - name: DEFAULT_CHARTS_PATH value: /opt/charts - name: ODH_PLATFORM_TYPE value: OpenDataHub - name: RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-auth-proxy:v3.5.0-ea.2 - name: RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-rbac-proxy:3.5.0-ea.2 - name: OPERATOR_CONDITION_NAME value: opendatahub-operator.v3.5.0-ea.2 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP - containerPort: 8080 name: http protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: "1" memory: 4Gi requests: cpu: 100m memory: 780Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-nxl2s readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: opendatahub-operator-controller-manager-dockercfg-km28h initContainers: - command: - cp - -r - /opt/manifests-template/. - /opt/manifests/ image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imagePullPolicy: Always name: copy-manifests resources: limits: cpu: 100m memory: 256Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-nxl2s readOnly: true nodeName: ip-10-0-131-31.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: opendatahub-operator-controller-manager serviceAccountName: opendatahub-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: opendatahub-operator-controller-webhook-cert - emptyDir: sizeLimit: 256Mi name: manifests - emptyDir: medium: Memory sizeLimit: 10Mi name: tmp - name: apiservice-cert secret: defaultMode: 420 items: - key: tls.crt path: apiserver.crt - key: tls.key path: apiserver.key secretName: opendatahub-operator-controller-manager-service-cert - name: webhook-cert secret: defaultMode: 420 items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key secretName: opendatahub-operator-controller-manager-service-cert - name: kube-api-access-nxl2s projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:34Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:35Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:47Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:47Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:30Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 100m memory: 780Mi containerID: cri-o://3a0325eecddd3c0a38dac1559806645aa8aa9cee394b1956735ccb929303b407 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imageID: quay.io/opendatahub/opendatahub-operator@sha256:62da7505a0bd1ed943c21ede46ffb0281020eba3b56657307e73ccf96a4ee006 lastState: {} name: manager ready: true resources: limits: cpu: "1" memory: 4Gi requests: cpu: 100m memory: 780Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:16:35Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-nxl2s readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.131.31 hostIPs: - ip: 10.0.131.31 initContainerStatuses: - allocatedResources: cpu: 10m memory: 64Mi containerID: cri-o://8d1d3e3fbc39da97f59af2f8bf9a3c004fb01c494e0c795a0fb742d3bace27a5 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imageID: quay.io/opendatahub/opendatahub-operator@sha256:62da7505a0bd1ed943c21ede46ffb0281020eba3b56657307e73ccf96a4ee006 lastState: {} name: copy-manifests ready: true resources: limits: cpu: 100m memory: 256Mi requests: cpu: 10m memory: 64Mi restartCount: 0 started: false state: terminated: containerID: cri-o://8d1d3e3fbc39da97f59af2f8bf9a3c004fb01c494e0c795a0fb742d3bace27a5 exitCode: 0 finishedAt: "2026-07-03T19:16:34Z" reason: Completed startedAt: "2026-07-03T19:16:33Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-nxl2s readOnly: true recursiveReadOnly: Disabled observedGeneration: 1 phase: Running podIP: 10.132.0.20 podIPs: - ip: 10.132.0.20 qosClass: Burstable startTime: "2026-07-03T19:16:30Z" - apiVersion: v1 kind: Pod metadata: annotations: alm-examples: |- [ { "apiVersion": "datasciencecluster.opendatahub.io/v2", "kind": "DataScienceCluster", "metadata": { "labels": { "app.kubernetes.io/name": "datasciencecluster" }, "name": "default-dsc" }, "spec": { "components": { "aipipelines": { "managementState": "Managed" }, "dashboard": { "managementState": "Managed" }, "feastoperator": { "managementState": "Managed" }, "kserve": { "managementState": "Managed", "nim": { "managementState": "Managed" }, "rawDeploymentServiceConfig": "Headed", "wva": { "managementState": "Removed" } }, "kueue": { "managementState": "Removed" }, "llamastackoperator": { "managementState": "Removed" }, "mlflowoperator": { "managementState": "Removed" }, "modelregistry": { "managementState": "Managed", "registriesNamespace": "odh-model-registries" }, "ogx": { "managementState": "Removed" }, "ray": { "managementState": "Managed" }, "sparkoperator": { "managementState": "Removed" }, "trainer": { "managementState": "Managed" }, "trainingoperator": { "managementState": "Removed" }, "trustyai": { "managementState": "Managed" }, "workbenches": { "managementState": "Managed" } } } }, { "apiVersion": "dscinitialization.opendatahub.io/v2", "kind": "DSCInitialization", "metadata": { "labels": { "app.kubernetes.io/name": "dscinitialization" }, "name": "default-dsci" }, "spec": { "applicationsNamespace": "opendatahub", "monitoring": { "managementState": "Managed", "metrics": {}, "namespace": "opendatahub" }, "trustedCABundle": { "customCABundle": "", "managementState": "Managed" } } } ] capabilities: Full Lifecycle categories: AI/Machine Learning, Big Data certified: "False" containerImage: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 createdAt: "2026-06-25T09:46:28Z" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.133.0.24/23"],"mac_address":"0a:58:0a:85:00:18","gateway_ips":["10.133.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.133.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.133.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.133.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.133.0.1"}],"ip_address":"10.133.0.24/23","gateway_ip":"10.133.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.133.0.24" ], "mac": "0a:58:0a:85:00:18", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager olm.operatorGroup: opendatahub-operatorgroup olm.operatorNamespace: opendatahub olm.targetNamespaces: "" olmcahash: 2b94b447b01e759a5d93fa636573a37064908bf18d4a1e0befad086bb8720422 openshift.io/scc: restricted-v2 operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Dashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"DataSciencePipelines","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"FeastOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Kserve","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Kueue","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"MLflowOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelController","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelRegistry","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelsAsService","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"OGX","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Ray","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"SparkOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Trainer","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"TrainingOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"TrustyAI","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Workbenches","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"config.opendatahub.io","kind":"Platform","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"datasciencecluster.opendatahub.io","kind":"DataScienceCluster","version":"v1"}},{"type":"olm.gvk","value":{"group":"datasciencecluster.opendatahub.io","kind":"DataScienceCluster","version":"v2"}},{"type":"olm.gvk","value":{"group":"dscinitialization.opendatahub.io","kind":"DSCInitialization","version":"v1"}},{"type":"olm.gvk","value":{"group":"dscinitialization.opendatahub.io","kind":"DSCInitialization","version":"v2"}},{"type":"olm.gvk","value":{"group":"features.opendatahub.io","kind":"FeatureTracker","version":"v1"}},{"type":"olm.gvk","value":{"group":"infrastructure.opendatahub.io","kind":"HardwareProfile","version":"v1"}},{"type":"olm.gvk","value":{"group":"infrastructure.opendatahub.io","kind":"HardwareProfile","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"Auth","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"GatewayConfig","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"Monitoring","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"opendatahub-operator","version":"3.5.0-ea.2"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.39.2 operators.operatorframework.io/internal-objects: '["featuretrackers.features.opendatahub.io", "dashboards.components.platform.opendatahub.io", "datasciencepipelines.components.platform.opendatahub.io", "kserves.components.platform.opendatahub.io", "kueues.components.platform.opendatahub.io", "modelregistries.components.platform.opendatahub.io", "rays.components.platform.opendatahub.io", "trainingoperators.components.platform.opendatahub.io", "trustyais.components.platform.opendatahub.io", "workbenches.components.platform.opendatahub.io", "monitorings.services.platform.opendatahub.io", "modelcontrollers.components.platform.opendatahub.io", "feastoperators.components.platform.opendatahub.io", "ogxs.components.platform.opendatahub.io", "trainers.components.platform.opendatahub.io", "mlflowoperators.components.platform.opendatahub.io", "modelsasservices.components.platform.opendatahub.io", "sparkoperators.components.platform.opendatahub.io"]' operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 repository: https://github.com/opendatahub-io/opendatahub-operator seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: serviceaccount creationTimestamp: "2026-07-03T19:16:30Z" generateName: opendatahub-operator-controller-manager-5db468f498- generation: 1 labels: control-plane: controller-manager name: opendatahub-operator pod-template-hash: 5db468f498 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-132-110 operation: Update subresource: status time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:containerImage: {} f:createdAt: {} f:kubectl.kubernetes.io/default-container: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:olmcahash: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/internal-objects: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:generateName: {} f:labels: .: {} f:control-plane: {} f:name: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"9f3f0c03-7d4a-49c1-b6a4-1bdf184f3278"}: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:requiredDuringSchedulingIgnoredDuringExecution: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"DEFAULT_CHARTS_PATH"}: .: {} f:name: {} f:value: {} k:{"name":"DEFAULT_MANIFESTS_PATH"}: .: {} f:name: {} f:value: {} k:{"name":"DISABLE_DSC_CONFIG"}: .: {} f:name: {} f:value: {} k:{"name":"ODH_PLATFORM_TYPE"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/apiserver.local.config/certificates"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:initContainers: .: {} k:{"name":"copy-manifests"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"apiservice-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"manifests"}: .: {} f:emptyDir: .: {} f:sizeLimit: {} f:name: {} k:{"name":"tmp"}: .: {} f:emptyDir: .: {} f:medium: {} f:sizeLimit: {} f:name: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:initContainerStatuses: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.133.0.24"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:16:47Z" name: opendatahub-operator-controller-manager-5db468f498-896bm namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: opendatahub-operator-controller-manager-5db468f498 uid: 9f3f0c03-7d4a-49c1-b6a4-1bdf184f3278 resourceVersion: "14260" uid: e9256195-5b31-4d9e-8259-8cc01190efdc spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/os operator: In values: - linux podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: name operator: In values: - opendatahub-operator topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - --health-probe-bind-address=:8081 - --metrics-bind-address=0.0.0.0:8080 - --leader-elect command: - /manager env: - name: DISABLE_DSC_CONFIG value: "true" - name: OPERATOR_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: DEFAULT_MANIFESTS_PATH value: /opt/manifests - name: DEFAULT_CHARTS_PATH value: /opt/charts - name: ODH_PLATFORM_TYPE value: OpenDataHub - name: RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-auth-proxy:v3.5.0-ea.2 - name: RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-rbac-proxy:3.5.0-ea.2 - name: OPERATOR_CONDITION_NAME value: opendatahub-operator.v3.5.0-ea.2 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP - containerPort: 8080 name: http protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: "1" memory: 4Gi requests: cpu: 100m memory: 780Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-rjmn9 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: opendatahub-operator-controller-manager-dockercfg-km28h initContainers: - command: - cp - -r - /opt/manifests-template/. - /opt/manifests/ image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imagePullPolicy: Always name: copy-manifests resources: limits: cpu: 100m memory: 256Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-rjmn9 readOnly: true nodeName: ip-10-0-132-110.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: opendatahub-operator-controller-manager serviceAccountName: opendatahub-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: opendatahub-operator-controller-webhook-cert - emptyDir: sizeLimit: 256Mi name: manifests - emptyDir: medium: Memory sizeLimit: 10Mi name: tmp - name: apiservice-cert secret: defaultMode: 420 items: - key: tls.crt path: apiserver.crt - key: tls.key path: apiserver.key secretName: opendatahub-operator-controller-manager-service-cert - name: webhook-cert secret: defaultMode: 420 items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key secretName: opendatahub-operator-controller-manager-service-cert - name: kube-api-access-rjmn9 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:34Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:35Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:47Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:47Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:30Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 100m memory: 780Mi containerID: cri-o://5183fd8df0817d30afb38a17e99fabbdcd602cf8b5adf8322394427b453be8dd image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imageID: quay.io/opendatahub/opendatahub-operator@sha256:62da7505a0bd1ed943c21ede46ffb0281020eba3b56657307e73ccf96a4ee006 lastState: {} name: manager ready: true resources: limits: cpu: "1" memory: 4Gi requests: cpu: 100m memory: 780Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:16:36Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-rjmn9 readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.132.110 hostIPs: - ip: 10.0.132.110 initContainerStatuses: - allocatedResources: cpu: 10m memory: 64Mi containerID: cri-o://f44eda42adf55ae2ce354bc4f0bee78386122a82b19555644dffbb18bf54ac49 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imageID: quay.io/opendatahub/opendatahub-operator@sha256:62da7505a0bd1ed943c21ede46ffb0281020eba3b56657307e73ccf96a4ee006 lastState: {} name: copy-manifests ready: true resources: limits: cpu: 100m memory: 256Mi requests: cpu: 10m memory: 64Mi restartCount: 0 started: false state: terminated: containerID: cri-o://f44eda42adf55ae2ce354bc4f0bee78386122a82b19555644dffbb18bf54ac49 exitCode: 0 finishedAt: "2026-07-03T19:16:34Z" reason: Completed startedAt: "2026-07-03T19:16:33Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-rjmn9 readOnly: true recursiveReadOnly: Disabled observedGeneration: 1 phase: Running podIP: 10.133.0.24 podIPs: - ip: 10.133.0.24 qosClass: Burstable startTime: "2026-07-03T19:16:30Z" - apiVersion: v1 kind: Pod metadata: annotations: alm-examples: |- [ { "apiVersion": "datasciencecluster.opendatahub.io/v2", "kind": "DataScienceCluster", "metadata": { "labels": { "app.kubernetes.io/name": "datasciencecluster" }, "name": "default-dsc" }, "spec": { "components": { "aipipelines": { "managementState": "Managed" }, "dashboard": { "managementState": "Managed" }, "feastoperator": { "managementState": "Managed" }, "kserve": { "managementState": "Managed", "nim": { "managementState": "Managed" }, "rawDeploymentServiceConfig": "Headed", "wva": { "managementState": "Removed" } }, "kueue": { "managementState": "Removed" }, "llamastackoperator": { "managementState": "Removed" }, "mlflowoperator": { "managementState": "Removed" }, "modelregistry": { "managementState": "Managed", "registriesNamespace": "odh-model-registries" }, "ogx": { "managementState": "Removed" }, "ray": { "managementState": "Managed" }, "sparkoperator": { "managementState": "Removed" }, "trainer": { "managementState": "Managed" }, "trainingoperator": { "managementState": "Removed" }, "trustyai": { "managementState": "Managed" }, "workbenches": { "managementState": "Managed" } } } }, { "apiVersion": "dscinitialization.opendatahub.io/v2", "kind": "DSCInitialization", "metadata": { "labels": { "app.kubernetes.io/name": "dscinitialization" }, "name": "default-dsci" }, "spec": { "applicationsNamespace": "opendatahub", "monitoring": { "managementState": "Managed", "metrics": {}, "namespace": "opendatahub" }, "trustedCABundle": { "customCABundle": "", "managementState": "Managed" } } } ] capabilities: Full Lifecycle categories: AI/Machine Learning, Big Data certified: "False" containerImage: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 createdAt: "2026-06-25T09:46:28Z" k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.27/23"],"mac_address":"0a:58:0a:86:00:1b","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.27/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.27" ], "mac": "0a:58:0a:86:00:1b", "default": true, "dns": {} }] kubectl.kubernetes.io/default-container: manager olm.operatorGroup: opendatahub-operatorgroup olm.operatorNamespace: opendatahub olm.targetNamespaces: "" olmcahash: 2b94b447b01e759a5d93fa636573a37064908bf18d4a1e0befad086bb8720422 openshift.io/scc: restricted-v2 operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Dashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"DataSciencePipelines","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"FeastOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Kserve","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Kueue","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"MLflowOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelController","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelRegistry","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"ModelsAsService","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"OGX","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Ray","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"SparkOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Trainer","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"TrainingOperator","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"TrustyAI","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"components.platform.opendatahub.io","kind":"Workbenches","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"config.opendatahub.io","kind":"Platform","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"datasciencecluster.opendatahub.io","kind":"DataScienceCluster","version":"v1"}},{"type":"olm.gvk","value":{"group":"datasciencecluster.opendatahub.io","kind":"DataScienceCluster","version":"v2"}},{"type":"olm.gvk","value":{"group":"dscinitialization.opendatahub.io","kind":"DSCInitialization","version":"v1"}},{"type":"olm.gvk","value":{"group":"dscinitialization.opendatahub.io","kind":"DSCInitialization","version":"v2"}},{"type":"olm.gvk","value":{"group":"features.opendatahub.io","kind":"FeatureTracker","version":"v1"}},{"type":"olm.gvk","value":{"group":"infrastructure.opendatahub.io","kind":"HardwareProfile","version":"v1"}},{"type":"olm.gvk","value":{"group":"infrastructure.opendatahub.io","kind":"HardwareProfile","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"Auth","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"GatewayConfig","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"services.platform.opendatahub.io","kind":"Monitoring","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"opendatahub-operator","version":"3.5.0-ea.2"}}]}' operators.operatorframework.io/builder: operator-sdk-v1.39.2 operators.operatorframework.io/internal-objects: '["featuretrackers.features.opendatahub.io", "dashboards.components.platform.opendatahub.io", "datasciencepipelines.components.platform.opendatahub.io", "kserves.components.platform.opendatahub.io", "kueues.components.platform.opendatahub.io", "modelregistries.components.platform.opendatahub.io", "rays.components.platform.opendatahub.io", "trainingoperators.components.platform.opendatahub.io", "trustyais.components.platform.opendatahub.io", "workbenches.components.platform.opendatahub.io", "monitorings.services.platform.opendatahub.io", "modelcontrollers.components.platform.opendatahub.io", "feastoperators.components.platform.opendatahub.io", "ogxs.components.platform.opendatahub.io", "trainers.components.platform.opendatahub.io", "mlflowoperators.components.platform.opendatahub.io", "modelsasservices.components.platform.opendatahub.io", "sparkoperators.components.platform.opendatahub.io"]' operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 repository: https://github.com/opendatahub-io/opendatahub-operator seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: serviceaccount creationTimestamp: "2026-07-03T19:16:30Z" generateName: opendatahub-operator-controller-manager-5db468f498- generation: 1 labels: control-plane: controller-manager name: opendatahub-operator pod-template-hash: 5db468f498 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-130-57 operation: Update subresource: status time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:containerImage: {} f:createdAt: {} f:kubectl.kubernetes.io/default-container: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.targetNamespaces: {} f:olmcahash: {} f:operatorframework.io/properties: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/internal-objects: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:generateName: {} f:labels: .: {} f:control-plane: {} f:name: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"9f3f0c03-7d4a-49c1-b6a4-1bdf184f3278"}: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:requiredDuringSchedulingIgnoredDuringExecution: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"DEFAULT_CHARTS_PATH"}: .: {} f:name: {} f:value: {} k:{"name":"DEFAULT_MANIFESTS_PATH"}: .: {} f:name: {} f:value: {} k:{"name":"DISABLE_DSC_CONFIG"}: .: {} f:name: {} f:value: {} k:{"name":"ODH_PLATFORM_TYPE"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} k:{"containerPort":9443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/apiserver.local.config/certificates"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:initContainers: .: {} k:{"name":"copy-manifests"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"apiservice-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} k:{"name":"cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"manifests"}: .: {} f:emptyDir: .: {} f:sizeLimit: {} f:name: {} k:{"name":"tmp"}: .: {} f:emptyDir: .: {} f:medium: {} f:sizeLimit: {} f:name: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:16:30Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:initContainerStatuses: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.27"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:16:47Z" name: opendatahub-operator-controller-manager-5db468f498-sqhmx namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: opendatahub-operator-controller-manager-5db468f498 uid: 9f3f0c03-7d4a-49c1-b6a4-1bdf184f3278 resourceVersion: "14240" uid: c0fa91f8-3f13-4588-b51e-7a83d897260b spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/os operator: In values: - linux podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: name operator: In values: - opendatahub-operator topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - --health-probe-bind-address=:8081 - --metrics-bind-address=0.0.0.0:8080 - --leader-elect command: - /manager env: - name: DISABLE_DSC_CONFIG value: "true" - name: OPERATOR_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: DEFAULT_MANIFESTS_PATH value: /opt/manifests - name: DEFAULT_CHARTS_PATH value: /opt/charts - name: ODH_PLATFORM_TYPE value: OpenDataHub - name: RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-auth-proxy:v3.5.0-ea.2 - name: RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-rbac-proxy:3.5.0-ea.2 - name: OPERATOR_CONDITION_NAME value: opendatahub-operator.v3.5.0-ea.2 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 9443 name: webhook-server protocol: TCP - containerPort: 8080 name: http protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: "1" memory: 4Gi requests: cpu: 100m memory: 780Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-vcbhg readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: opendatahub-operator-controller-manager-dockercfg-km28h initContainers: - command: - cp - -r - /opt/manifests-template/. - /opt/manifests/ image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imagePullPolicy: Always name: copy-manifests resources: limits: cpu: 100m memory: 256Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-vcbhg readOnly: true nodeName: ip-10-0-130-57.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 runAsNonRoot: true seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: opendatahub-operator-controller-manager serviceAccountName: opendatahub-operator-controller-manager terminationGracePeriodSeconds: 10 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: cert secret: defaultMode: 420 secretName: opendatahub-operator-controller-webhook-cert - emptyDir: sizeLimit: 256Mi name: manifests - emptyDir: medium: Memory sizeLimit: 10Mi name: tmp - name: apiservice-cert secret: defaultMode: 420 items: - key: tls.crt path: apiserver.crt - key: tls.key path: apiserver.key secretName: opendatahub-operator-controller-manager-service-cert - name: webhook-cert secret: defaultMode: 420 items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key secretName: opendatahub-operator-controller-manager-service-cert - name: kube-api-access-vcbhg projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:34Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:35Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:47Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:47Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:16:30Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 100m memory: 780Mi containerID: cri-o://a91d9bb626347c484eda35f1c7c0bc3d2d825a6c8f55fdb023c1ba7119edb0ba image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imageID: quay.io/opendatahub/opendatahub-operator@sha256:62da7505a0bd1ed943c21ede46ffb0281020eba3b56657307e73ccf96a4ee006 lastState: {} name: manager ready: true resources: limits: cpu: "1" memory: 4Gi requests: cpu: 100m memory: 780Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:16:35Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-vcbhg readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.130.57 hostIPs: - ip: 10.0.130.57 initContainerStatuses: - allocatedResources: cpu: 10m memory: 64Mi containerID: cri-o://4c9d992eab082a9129e9e04563696f22d354b87df8c5dbfbb92ace0ca60f37e7 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.2 imageID: quay.io/opendatahub/opendatahub-operator@sha256:62da7505a0bd1ed943c21ede46ffb0281020eba3b56657307e73ccf96a4ee006 lastState: {} name: copy-manifests ready: true resources: limits: cpu: 100m memory: 256Mi requests: cpu: 10m memory: 64Mi restartCount: 0 started: false state: terminated: containerID: cri-o://4c9d992eab082a9129e9e04563696f22d354b87df8c5dbfbb92ace0ca60f37e7 exitCode: 0 finishedAt: "2026-07-03T19:16:35Z" reason: Completed startedAt: "2026-07-03T19:16:34Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-vcbhg readOnly: true recursiveReadOnly: Disabled observedGeneration: 1 phase: Running podIP: 10.134.0.27 podIPs: - ip: 10.134.0.27 qosClass: Burstable startTime: "2026-07-03T19:16:30Z" - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.134.0.43/23"],"mac_address":"0a:58:0a:86:00:2b","gateway_ips":["10.134.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.134.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.134.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.134.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.134.0.1"}],"ip_address":"10.134.0.43/23","gateway_ip":"10.134.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.134.0.43" ], "mac": "0a:58:0a:86:00:2b", "default": true, "dns": {} }] openshift.io/scc: restricted-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: user creationTimestamp: "2026-07-03T19:20:02Z" generateName: postgres-69fb4594cf- generation: 1 labels: app: postgres pod-template-hash: 69fb4594cf managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-130-57 operation: Update subresource: status time: "2026-07-03T19:20:02Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:generateName: {} f:labels: .: {} f:app: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"18f281ea-9f4d-4d14-8b53-99df388a8ff6"}: {} f:spec: f:containers: k:{"name":"postgres"}: .: {} f:env: .: {} k:{"name":"POSTGRESQL_DATABASE"}: .: {} f:name: {} f:valueFrom: .: {} f:secretKeyRef: {} k:{"name":"POSTGRESQL_PASSWORD"}: .: {} f:name: {} f:valueFrom: .: {} f:secretKeyRef: {} k:{"name":"POSTGRESQL_USER"}: .: {} f:name: {} f:valueFrom: .: {} f:secretKeyRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":5432,"protocol":"TCP"}: .: {} f:containerPort: {} f:protocol: {} f:readinessProbe: .: {} f:exec: .: {} f:command: {} f:failureThreshold: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/var/lib/pgsql/data"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"data"}: .: {} f:emptyDir: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-07-03T19:20:02Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-03T19:20:03Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.134.0.43"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-03T19:20:34Z" name: postgres-69fb4594cf-4tgnm namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: postgres-69fb4594cf uid: 18f281ea-9f4d-4d14-8b53-99df388a8ff6 resourceVersion: "21834" uid: 2327bef8-3886-4e6a-9f56-cc95a2adf6f6 spec: containers: - env: - name: POSTGRESQL_USER valueFrom: secretKeyRef: key: POSTGRES_USER name: postgres-creds - name: POSTGRESQL_PASSWORD valueFrom: secretKeyRef: key: POSTGRES_PASSWORD name: postgres-creds - name: POSTGRESQL_DATABASE valueFrom: secretKeyRef: key: POSTGRES_DB name: postgres-creds image: registry.redhat.io/rhel9/postgresql-16:latest imagePullPolicy: Always name: postgres ports: - containerPort: 5432 protocol: TCP readinessProbe: exec: command: - /usr/libexec/check-container failureThreshold: 3 initialDelaySeconds: 5 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 256Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true runAsUser: 1000660000 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/lib/pgsql/data name: data - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-tvzbf readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: default-dockercfg-nrx98 nodeName: ip-10-0-130-57.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1000660000 seLinuxOptions: level: s0:c26,c5 seccompProfile: type: RuntimeDefault serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - emptyDir: {} name: data - name: kube-api-access-tvzbf projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-03T19:20:28Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-03T19:20:02Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-03T19:20:34Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-03T19:20:34Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-03T19:20:02Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 100m memory: 256Mi containerID: cri-o://f99bb8bbd2f1fef3932bb3eff1c40f347044f39ce6f34700f903944de95d313f image: registry.redhat.io/rhel9/postgresql-16:latest imageID: registry.redhat.io/rhel9/postgresql-16@sha256:1149c78dbc442a419d6d9073dd5b60dd40d5639070b8cd8cd8dfab30ef88a913 lastState: {} name: postgres ready: true resources: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 256Mi restartCount: 0 started: true state: running: startedAt: "2026-07-03T19:20:27Z" user: linux: gid: 0 supplementalGroups: - 0 - 1000660000 uid: 1000660000 volumeMounts: - mountPath: /var/lib/pgsql/data name: data - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-tvzbf readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.130.57 hostIPs: - ip: 10.0.130.57 observedGeneration: 1 phase: Running podIP: 10.134.0.43 podIPs: - ip: 10.134.0.43 qosClass: Burstable startTime: "2026-07-03T19:20:02Z" kind: PodList metadata: resourceVersion: "34589"