--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-10-30T23:36:43Z" generation: 1 labels: app: ai-gateway-controller control-plane: ai-gateway-controller pod-template-hash: 58f8946bc6 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"53d2481d-6f2c-4a10-b418-3b9c31fdc530"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"LOG_DEVELOPMENT"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_PRAXIS_EXTPROC_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":8081,"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:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-30T23:36:43Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:36:56Z" name: ai-gateway-controller-58f8946bc6 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: ai-gateway-controller uid: 53d2481d-6f2c-4a10-b418-3b9c31fdc530 resourceVersion: "25846" uid: e5077a1d-c09b-4435-8ddf-e3ac31a377b1 spec: replicas: 1 selector: matchLabels: control-plane: ai-gateway-controller pod-template-hash: 58f8946bc6 template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-10-30T23:36:43Z" labels: app: ai-gateway-controller control-plane: ai-gateway-controller pod-template-hash: 58f8946bc6 spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 - --metrics-bind-address=:8443 - --metrics-secure=true - --image=$(RELATED_IMAGE_ODH_PRAXIS_EXTPROC_IMAGE) command: - /manager env: - name: LOG_DEVELOPMENT value: "false" - name: RELATED_IMAGE_ODH_PRAXIS_EXTPROC_IMAGE valueFrom: configMapKeyRef: key: praxis-extproc-image name: ai-gateway-controller-parameters optional: true - name: RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE valueFrom: configMapKeyRef: key: kube-auth-proxy-image name: ai-gateway-controller-parameters optional: true image: quay.io/opendatahub/odh-ai-gateway-controller:odh-pr-152 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP - containerPort: 8081 name: health 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: 256Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: ai-gateway-controller serviceAccountName: ai-gateway-controller terminationGracePeriodSeconds: 30 volumes: - name: metrics-certs secret: defaultMode: 420 secretName: ai-gateway-controller-metrics-tls status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-10-30T23:36:26Z" generation: 2 labels: app: ai-gateway-controller control-plane: ai-gateway-controller pod-template-hash: 655fc879db managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"53d2481d-6f2c-4a10-b418-3b9c31fdc530"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"LOG_DEVELOPMENT"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_PRAXIS_EXTPROC_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":8081,"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:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-30T23:36:56Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:36:56Z" name: ai-gateway-controller-655fc879db namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: ai-gateway-controller uid: 53d2481d-6f2c-4a10-b418-3b9c31fdc530 resourceVersion: "25862" uid: c44000de-7980-45fd-abdd-f7869d9aca40 spec: replicas: 0 selector: matchLabels: control-plane: ai-gateway-controller pod-template-hash: 655fc879db template: metadata: labels: app: ai-gateway-controller control-plane: ai-gateway-controller pod-template-hash: 655fc879db spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 - --metrics-bind-address=:8443 - --metrics-secure=true - --image=$(RELATED_IMAGE_ODH_PRAXIS_EXTPROC_IMAGE) command: - /manager env: - name: LOG_DEVELOPMENT value: "false" - name: RELATED_IMAGE_ODH_PRAXIS_EXTPROC_IMAGE valueFrom: configMapKeyRef: key: praxis-extproc-image name: ai-gateway-controller-parameters optional: true - name: RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE valueFrom: configMapKeyRef: key: kube-auth-proxy-image name: ai-gateway-controller-parameters optional: true image: quay.io/opendatahub/odh-ai-gateway-controller:odh-pr-152 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP - containerPort: 8081 name: health 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: 256Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: ai-gateway-controller serviceAccountName: ai-gateway-controller terminationGracePeriodSeconds: 30 volumes: - name: metrics-certs secret: defaultMode: 420 secretName: ai-gateway-controller-metrics-tls status: observedGeneration: 2 replicas: 0 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" internal.config.kubernetes.io/previousKinds: Deployment internal.config.kubernetes.io/previousNames: kserve-controller-manager internal.config.kubernetes.io/previousNamespaces: opendatahub platform.opendatahub.io/instance.generation: "1" platform.opendatahub.io/instance.name: default-kserve platform.opendatahub.io/instance.uid: 37862999-e539-457e-8323-69222ac3b09f creationTimestamp: "2026-10-30T23:23:56Z" generation: 1 labels: app.kubernetes.io/name: kserve-controller-manager control-plane: kserve-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 776cc66d47 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:internal.config.kubernetes.io/previousKinds: {} f:internal.config.kubernetes.io/previousNames: {} f:internal.config.kubernetes.io/previousNamespaces: {} f:platform.opendatahub.io/instance.generation: {} f:platform.opendatahub.io/instance.name: {} f:platform.opendatahub.io/instance.uid: {} f:labels: .: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"fa3020b0-87ff-44e2-aa5d-8f9b0c839b0f"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kserve-module/config-hash: {} f:kubectl.kubernetes.io/default-container: {} f:labels: .: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} 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":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:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} 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-10-30T23:23:56Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:24:33Z" name: kserve-controller-manager-776cc66d47 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: kserve-controller-manager uid: fa3020b0-87ff-44e2-aa5d-8f9b0c839b0f resourceVersion: "16786" uid: 8fd63e62-3ee4-4274-b78b-34a506f3603b spec: replicas: 1 selector: matchLabels: control-plane: kserve-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 776cc66d47 template: metadata: annotations: kserve-module/config-hash: Z3Di75IYWloTO8iqcysFTDYAnOSnLNqDgBYbbqf7_KM kubectl.kubernetes.io/default-container: manager labels: app.kubernetes.io/name: kserve-controller-manager control-plane: kserve-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 776cc66d47 spec: containers: - args: - --metrics-addr=:8443 - --metrics-secure - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: SECRET_NAME value: kserve-webhook-server-cert image: quay.io/opendatahub/kserve-controller@sha256:6e72a4ac896e998acf222204e10868106932adfbfd0dafdc0a9c1e4d58d0627d imagePullPolicy: Always livenessProbe: failureThreshold: 5 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: manager ports: - containerPort: 8443 name: metrics protocol: TCP - 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: kserve-controller-manager serviceAccountName: kserve-controller-manager terminationGracePeriodSeconds: 10 volumes: - name: cert secret: defaultMode: 420 secretName: kserve-webhook-server-cert status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" internal.config.kubernetes.io/previousKinds: Deployment internal.config.kubernetes.io/previousNames: kserve-module-controller-manager internal.config.kubernetes.io/previousNamespaces: opendatahub platform.opendatahub.io/instance.generation: "2" platform.opendatahub.io/instance.name: default platform.opendatahub.io/instance.uid: df2d4f91-7ada-4d90-8edd-126e3c9df34c platform.opendatahub.io/type: Open Data Hub platform.opendatahub.io/version: 3.6.0-ea.2 creationTimestamp: "2026-10-30T23:23:02Z" generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: kserve-module-controller-manager control-plane: kserve-module-controller-manager pod-template-hash: 7566cf5fc8 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:internal.config.kubernetes.io/previousKinds: {} f:internal.config.kubernetes.io/previousNames: {} f:internal.config.kubernetes.io/previousNamespaces: {} f:platform.opendatahub.io/instance.generation: {} f:platform.opendatahub.io/instance.name: {} f:platform.opendatahub.io/instance.uid: {} f:platform.opendatahub.io/type: {} f:platform.opendatahub.io/version: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"3971f199-060e-4bd2-a73b-7b7d4f13f5ed"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"APPLICATIONS_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MONITORING_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"ODH_MODULE_OPERATOR_PLATFORM_TYPE"}: .: {} f:name: {} f:value: {} k:{"name":"POD_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"RELATED_IMAGE_ODH_GUARDRAILS_DETECTOR_HUGGINGFACE_RUNTIME_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_AGENT_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_AUTOGLUON_SERVER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_LLMISVC_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_LOCALMODEL_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_LOCALMODELNODE_AGENT_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_ROUTER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KSERVE_STORAGE_INITIALIZER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_LLM_D_ROUTER_DISAGG_SIDECAR_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_LLM_D_ROUTER_ENDPOINT_PICKER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MLSERVER_CUDA_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MLSERVER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MODEL_CONTROLLER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_MODEL_SERVING_API_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_OPENVINO_MODEL_SERVER_IMAGE"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ODH_WORKLOAD_VARIANT_AUTOSCALER_CONTROLLER_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: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":"/etc/pki/tls/custom"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/opt/manifests"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"manifests"}: .: {} f:emptyDir: .: {} f:sizeLimit: {} f:name: {} k:{"name":"tmp"}: .: {} f:emptyDir: {} f:name: {} k:{"name":"trusted-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:optional: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-10-30T23:23:02Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:58:35Z" name: kserve-module-controller-manager-7566cf5fc8 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: kserve-module-controller-manager uid: 3971f199-060e-4bd2-a73b-7b7d4f13f5ed resourceVersion: "101398" uid: 07617a98-7157-46bf-a0fd-cfe824084117 spec: replicas: 1 selector: matchLabels: control-plane: kserve-module-controller-manager pod-template-hash: 7566cf5fc8 template: metadata: annotations: kubectl.kubernetes.io/default-container: manager labels: app.kubernetes.io/component: controller app.kubernetes.io/name: kserve-module-controller-manager control-plane: kserve-module-controller-manager pod-template-hash: 7566cf5fc8 spec: containers: - args: - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: RELATED_IMAGE_ODH_GUARDRAILS_DETECTOR_HUGGINGFACE_RUNTIME_IMAGE value: quay.io/opendatahub/guardrails-detector-huggingface-runtime@sha256:01de40dc221e33ed5e3668e1a4e5c0158ed875a8f50d40406f86b4fffe1d241f - name: RELATED_IMAGE_ODH_KSERVE_AUTOGLUON_SERVER_IMAGE value: quay.io/opendatahub/odh-kserve-autogluon-server@sha256:77351b5f013c84b0ea2dcfb598d1a43c12b5d9234578b9e384bf5be75642a53d - name: RELATED_IMAGE_ODH_KSERVE_AGENT_IMAGE value: quay.io/opendatahub/kserve-agent@sha256:338b6e94c77cd8db0cdb045bc6af9d1a468a57dfdeec401dd948eaa31bd4135f - name: RELATED_IMAGE_ODH_KSERVE_CONTROLLER_IMAGE value: quay.io/opendatahub/kserve-controller@sha256:6e72a4ac896e998acf222204e10868106932adfbfd0dafdc0a9c1e4d58d0627d - name: RELATED_IMAGE_ODH_KSERVE_LLMISVC_CONTROLLER_IMAGE value: quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:be3760deb2e1570f182db0819a98b4cebd1de04de25b8c9bdd0b38396f0be321 - name: RELATED_IMAGE_ODH_KSERVE_LOCALMODEL_CONTROLLER_IMAGE value: quay.io/opendatahub/odh-kserve-localmodel-controller@sha256:47dad2ce1a051f08c0bb1bde686d1cee3eb9e9f2b5691421fabeff60fd1d3643 - name: RELATED_IMAGE_ODH_KSERVE_LOCALMODELNODE_AGENT_IMAGE value: quay.io/opendatahub/odh-kserve-localmodelnode-agent@sha256:29093f2009ec31e2d9e7474ea34923d2a93a4983fe0faa46ade5dfbec9e39991 - name: RELATED_IMAGE_ODH_KSERVE_ROUTER_IMAGE value: quay.io/opendatahub/kserve-router@sha256:c0e3adf9508c7da4a58adffde0d9973f500ddf9e53eb3dd8eca3eee4d24b02d1 - name: RELATED_IMAGE_ODH_KSERVE_STORAGE_INITIALIZER_IMAGE value: quay.io/opendatahub/kserve-storage-initializer@sha256:2be4dcd6b383a701feb7e0e5a7d4f9ebb72d2dd9316fa9cb6163450aa3206601 - name: RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-rbac-proxy@sha256:acd9de62b8339dbacd39635317e5e596e09a70ae26ac9eccdde4a4124388740f - name: RELATED_IMAGE_ODH_LLM_D_ROUTER_DISAGG_SIDECAR_IMAGE value: quay.io/opendatahub/odh-llm-d-router-disagg-sidecar@sha256:4cad555ba22920e31812aa1afd4250e506ed93599dc283f526562e0659edce19 - name: RELATED_IMAGE_ODH_LLM_D_ROUTER_ENDPOINT_PICKER_IMAGE value: quay.io/opendatahub/odh-llm-d-router-endpoint-picker@sha256:5fe24a45d9c8039b6db33e8be331dab766610e6eb60f9d2bec1ecc1153ca8827 - name: RELATED_IMAGE_ODH_MLSERVER_IMAGE value: quay.io/opendatahub/mlserver@sha256:bbf0ba6e43579214ca14f4364801a291546a630e124e59b02dedaff6d5cab545 - name: RELATED_IMAGE_ODH_MLSERVER_CUDA_IMAGE value: quay.io/opendatahub/odh-mlserver-cuda@sha256:bc2f0e7070b2a2e2f3457b39c44fb6b62fb10e314bb8d74765b1a22516550d9c - name: RELATED_IMAGE_ODH_MODEL_CONTROLLER_IMAGE value: quay.io/opendatahub/odh-model-controller@sha256:94f7f4383ef91d10d60d82c0858a60158a02915fdd3000d507210139faaac775 - name: RELATED_IMAGE_ODH_MODEL_SERVING_API_IMAGE value: quay.io/opendatahub/odh-model-serving-api@sha256:dc6ced7ac752d3770e31e3e83f4f9a6c793de5b9b04dde0d194d021020cef8e8 - name: RELATED_IMAGE_ODH_OPENVINO_MODEL_SERVER_IMAGE value: quay.io/opendatahub/openvino_model_server@sha256:aea6779e5fa366a33e02cf5f8c1937cb4ad5feeb18dae12b0619b2e775168da2 - name: RELATED_IMAGE_ODH_WORKLOAD_VARIANT_AUTOSCALER_CONTROLLER_IMAGE value: quay.io/opendatahub/workload-variant-autoscaler@sha256:4ad63eb0f436c7c8a719fd8d55f5fb09fcbe9ab5279998c29c58333d42667f57 - name: APPLICATIONS_NAMESPACE value: opendatahub - name: MONITORING_NAMESPACE value: opendatahub - name: ODH_MODULE_OPERATOR_PLATFORM_TYPE value: Open Data Hub image: quay.io/opendatahub/odh-kserve-module-operator@sha256:b8becaa017a2a2ec9af002989e8f14a8a2f96ffad292f37a61569343b1101189 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 10 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 5 name: manager readinessProbe: failureThreshold: 15 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 resources: limits: cpu: 500m memory: 1Gi requests: cpu: 100m memory: 256Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/manifests name: manifests - mountPath: /tmp name: tmp - mountPath: /etc/pki/tls/custom name: trusted-ca readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: kserve-module-controller-manager serviceAccountName: kserve-module-controller-manager terminationGracePeriodSeconds: 30 volumes: - emptyDir: sizeLimit: 256Mi name: manifests - emptyDir: {} name: tmp - configMap: defaultMode: 420 name: odh-trusted-ca-bundle optional: true name: trusted-ca status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "2" internal.config.kubernetes.io/previousKinds: Deployment internal.config.kubernetes.io/previousNames: llmisvc-controller-manager internal.config.kubernetes.io/previousNamespaces: opendatahub platform.opendatahub.io/instance.generation: "1" platform.opendatahub.io/instance.name: default-kserve platform.opendatahub.io/instance.uid: 37862999-e539-457e-8323-69222ac3b09f creationTimestamp: "2026-10-30T23:35:10Z" generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: llmisvc-controller-manager control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 6466c554d8 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:internal.config.kubernetes.io/previousKinds: {} f:internal.config.kubernetes.io/previousNames: {} f:internal.config.kubernetes.io/previousNamespaces: {} f:platform.opendatahub.io/instance.generation: {} f:platform.opendatahub.io/instance.name: {} f:platform.opendatahub.io/instance.uid: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"3ff734df-0dfc-4f2e-bd78-96afb6ed7121"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} 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: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-10-30T23:35:10Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:35:44Z" name: llmisvc-controller-manager-6466c554d8 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: llmisvc-controller-manager uid: 3ff734df-0dfc-4f2e-bd78-96afb6ed7121 resourceVersion: "23530" uid: fcf0bf16-9c22-4695-8e9a-45996da55973 spec: replicas: 1 selector: matchLabels: control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 6466c554d8 template: metadata: annotations: kubectl.kubernetes.io/default-container: manager labels: app.kubernetes.io/component: controller app.kubernetes.io/name: llmisvc-controller-manager control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 6466c554d8 spec: containers: - args: - --metrics-addr=:8443 - --metrics-secure - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: LLM_INFERENCE_SERVICE_CONFIG_PREFIX value: v3-6-0-ea-2-kserve- image: quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:be3760deb2e1570f182db0819a98b4cebd1de04de25b8c9bdd0b38396f0be321 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: "2" memory: 300Mi requests: cpu: "1" memory: 300Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: llmisvc-controller-manager serviceAccountName: llmisvc-controller-manager terminationGracePeriodSeconds: 30 volumes: - name: cert secret: defaultMode: 420 secretName: llmisvc-webhook-server-cert status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" internal.config.kubernetes.io/previousKinds: Deployment internal.config.kubernetes.io/previousNames: llmisvc-controller-manager internal.config.kubernetes.io/previousNamespaces: opendatahub platform.opendatahub.io/instance.generation: "1" platform.opendatahub.io/instance.name: default-kserve platform.opendatahub.io/instance.uid: 37862999-e539-457e-8323-69222ac3b09f creationTimestamp: "2026-10-30T23:23:56Z" generation: 2 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: llmisvc-controller-manager control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 869d5dcc5d managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:internal.config.kubernetes.io/previousKinds: {} f:internal.config.kubernetes.io/previousNames: {} f:internal.config.kubernetes.io/previousNamespaces: {} f:platform.opendatahub.io/instance.generation: {} f:platform.opendatahub.io/instance.name: {} f:platform.opendatahub.io/instance.uid: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"3ff734df-0dfc-4f2e-bd78-96afb6ed7121"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:control-plane: {} f:controller-tools.k8s.io: {} f:pod-template-hash: {} 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: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-10-30T23:35:44Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:35:44Z" name: llmisvc-controller-manager-869d5dcc5d namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: llmisvc-controller-manager uid: 3ff734df-0dfc-4f2e-bd78-96afb6ed7121 resourceVersion: "23550" uid: fe75d8fb-8f70-4aa7-80a8-a0f844641c2f spec: replicas: 0 selector: matchLabels: control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 869d5dcc5d template: metadata: annotations: kubectl.kubernetes.io/default-container: manager labels: app.kubernetes.io/component: controller app.kubernetes.io/name: llmisvc-controller-manager control-plane: llmisvc-controller-manager controller-tools.k8s.io: "1.0" pod-template-hash: 869d5dcc5d spec: containers: - args: - --metrics-addr=:8443 - --metrics-secure - --leader-elect command: - /manager env: - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: LLM_INFERENCE_SERVICE_CONFIG_PREFIX value: v3-6-0-ea-2-kserve- image: quay.io/opendatahub/odh-kserve-llmisvc-controller@sha256:be3760deb2e1570f182db0819a98b4cebd1de04de25b8c9bdd0b38396f0be321 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 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: llmisvc-controller-manager serviceAccountName: llmisvc-controller-manager terminationGracePeriodSeconds: 30 volumes: - name: cert secret: defaultMode: 420 secretName: llmisvc-webhook-server-cert status: observedGeneration: 2 replicas: 0 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-10-30T23:34:19Z" generation: 2 labels: app: maas-controller control-plane: maas-controller pod-template-hash: 579cf7c6d managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"fd95625e-ffbb-411f-87e7-2e2d3d585560"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} 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":"INFRA_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MAAS_DISCOVERY_ENABLED"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"MAAS_DISCOVERY_LOG_LEVEL"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"MAAS_DISCOVERY_REPLICAS"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} 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_ODH_MAAS_DISCOVERY_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_PYTHON_312_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":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:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-30T23:34:34Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:34:34Z" name: maas-controller-579cf7c6d namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: maas-controller uid: fd95625e-ffbb-411f-87e7-2e2d3d585560 resourceVersion: "22347" uid: f20df3b4-8b50-47fc-8807-d7304160c44d spec: replicas: 0 selector: matchLabels: control-plane: maas-controller pod-template-hash: 579cf7c6d template: metadata: labels: app: maas-controller control-plane: maas-controller pod-template-hash: 579cf7c6d spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 - --metrics-bind-address=:8443 - --metrics-secure=true - --controller-namespace=$(CONTROLLER_NAMESPACE) - --gateway-name=$(GATEWAY_NAME) - --gateway-namespace=$(GATEWAY_NAMESPACE) - --infra-namespace=$(INFRA_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 - --log-format=otel-json 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: INFRA_NAMESPACE value: AUTO - 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: RELATED_IMAGE_ODH_PYTHON_312_IMAGE valueFrom: configMapKeyRef: key: usage-logs-tenancy-proxy-image name: maas-parameters optional: true - name: RELATED_IMAGE_ODH_MAAS_DISCOVERY_IMAGE valueFrom: configMapKeyRef: key: maas-discovery-image name: maas-parameters optional: true - name: MAAS_DISCOVERY_ENABLED valueFrom: configMapKeyRef: key: maas-discovery-enabled name: maas-parameters optional: true - name: MAAS_DISCOVERY_REPLICAS valueFrom: configMapKeyRef: key: maas-discovery-replicas name: maas-parameters optional: true - name: MAAS_DISCOVERY_LOG_LEVEL valueFrom: configMapKeyRef: key: maas-discovery-log-level name: maas-parameters optional: true - name: MONITORING_NAMESPACE valueFrom: configMapKeyRef: key: monitoring-namespace name: maas-parameters optional: true image: quay.io/opendatahub/maas-controller:7879675aa66d002425c7b32375d6d0156eaa0c56 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8443 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 readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert readOnly: true - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: maas-controller serviceAccountName: maas-controller terminationGracePeriodSeconds: 30 volumes: - name: webhook-cert secret: defaultMode: 420 secretName: maas-controller-webhook-cert - name: metrics-certs secret: defaultMode: 420 secretName: maas-controller-metrics-tls status: observedGeneration: 2 replicas: 0 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-10-30T23:34:20Z" generation: 5 labels: app: maas-controller control-plane: maas-controller pod-template-hash: 7d4db8f8cf managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"fd95625e-ffbb-411f-87e7-2e2d3d585560"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/restartedAt: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} 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":"INFRA_NAMESPACE"}: .: {} f:name: {} f:value: {} k:{"name":"MAAS_DISCOVERY_ENABLED"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"MAAS_DISCOVERY_LOG_LEVEL"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"MAAS_DISCOVERY_REPLICAS"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} 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_ODH_MAAS_DISCOVERY_IMAGE"}: .: {} f:name: {} f:valueFrom: .: {} f:configMapKeyRef: {} k:{"name":"RELATED_IMAGE_ODH_PYTHON_312_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":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:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/tmp/k8s-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-31T00:04:17Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-31T00:04:30Z" name: maas-controller-7d4db8f8cf namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: maas-controller uid: fd95625e-ffbb-411f-87e7-2e2d3d585560 resourceVersion: "120755" uid: 0609358c-a9fa-4617-88a6-620adb5b3c2a spec: replicas: 1 selector: matchLabels: control-plane: maas-controller pod-template-hash: 7d4db8f8cf template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-10-30T23:34:20Z" labels: app: maas-controller control-plane: maas-controller pod-template-hash: 7d4db8f8cf spec: containers: - args: - --leader-elect - --health-probe-bind-address=:8081 - --metrics-bind-address=:8443 - --metrics-secure=true - --controller-namespace=$(CONTROLLER_NAMESPACE) - --gateway-name=$(GATEWAY_NAME) - --gateway-namespace=$(GATEWAY_NAMESPACE) - --infra-namespace=$(INFRA_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 - --log-format=otel-json 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: INFRA_NAMESPACE value: AUTO - 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: RELATED_IMAGE_ODH_PYTHON_312_IMAGE valueFrom: configMapKeyRef: key: usage-logs-tenancy-proxy-image name: maas-parameters optional: true - name: RELATED_IMAGE_ODH_MAAS_DISCOVERY_IMAGE valueFrom: configMapKeyRef: key: maas-discovery-image name: maas-parameters optional: true - name: MAAS_DISCOVERY_ENABLED valueFrom: configMapKeyRef: key: maas-discovery-enabled name: maas-parameters optional: true - name: MAAS_DISCOVERY_REPLICAS valueFrom: configMapKeyRef: key: maas-discovery-replicas name: maas-parameters optional: true - name: MAAS_DISCOVERY_LOG_LEVEL valueFrom: configMapKeyRef: key: maas-discovery-log-level name: maas-parameters optional: true - name: MONITORING_NAMESPACE valueFrom: configMapKeyRef: key: monitoring-namespace name: maas-parameters optional: true image: quay.io/opendatahub/maas-controller:7879675aa66d002425c7b32375d6d0156eaa0c56 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: manager ports: - containerPort: 8443 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 readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert readOnly: true - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: maas-controller serviceAccountName: maas-controller terminationGracePeriodSeconds: 30 volumes: - name: webhook-cert secret: defaultMode: 420 secretName: maas-controller-webhook-cert - name: metrics-certs secret: defaultMode: 420 secretName: maas-controller-metrics-tls status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 5 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" internal.config.kubernetes.io/previousKinds: Deployment internal.config.kubernetes.io/previousNames: model-serving-api internal.config.kubernetes.io/previousNamespaces: opendatahub platform.opendatahub.io/instance.generation: "1" platform.opendatahub.io/instance.name: default-kserve platform.opendatahub.io/instance.uid: 37862999-e539-457e-8323-69222ac3b09f creationTimestamp: "2026-10-30T23:23:56Z" 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 pod-template-hash: 75bd89fdfc managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:internal.config.kubernetes.io/previousKinds: {} f:internal.config.kubernetes.io/previousNames: {} f:internal.config.kubernetes.io/previousNamespaces: {} f:platform.opendatahub.io/instance.generation: {} f:platform.opendatahub.io/instance.name: {} f:platform.opendatahub.io/instance.uid: {} f:labels: .: {} f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"c86739c3-f71c-4838-8e00-58fa6dd9f7c0"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:app: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:pod-template-hash: {} 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: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-10-30T23:23:56Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:24:12Z" name: model-serving-api-75bd89fdfc namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: model-serving-api uid: c86739c3-f71c-4838-8e00-58fa6dd9f7c0 resourceVersion: "16582" uid: 1f3a7cbf-6f05-4efb-a37d-4175f720c9ae spec: replicas: 1 selector: 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 pod-template-hash: 75bd89fdfc template: metadata: 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 pod-template-hash: 75bd89fdfc spec: containers: - env: - name: TLS_CERT_DIR value: /tls - name: GATEWAY_LABEL_SELECTOR image: quay.io/opendatahub/odh-model-serving-api@sha256:dc6ced7ac752d3770e31e3e83f4f9a6c793de5b9b04dde0d194d021020cef8e8 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tls name: tls-certs readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: model-serving-api serviceAccountName: model-serving-api terminationGracePeriodSeconds: 30 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 status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" internal.config.kubernetes.io/previousKinds: Deployment internal.config.kubernetes.io/previousNames: odh-model-controller internal.config.kubernetes.io/previousNamespaces: opendatahub platform.opendatahub.io/instance.generation: "1" platform.opendatahub.io/instance.name: default-kserve platform.opendatahub.io/instance.uid: 37862999-e539-457e-8323-69222ac3b09f creationTimestamp: "2026-10-30T23:23:56Z" generation: 1 labels: app: odh-model-controller control-plane: odh-model-controller pod-template-hash: 769875db56 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:internal.config.kubernetes.io/previousKinds: {} f:internal.config.kubernetes.io/previousNames: {} f:internal.config.kubernetes.io/previousNamespaces: {} f:platform.opendatahub.io/instance.generation: {} f:platform.opendatahub.io/instance.name: {} f:platform.opendatahub.io/instance.uid: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"884ddb67-ed9a-4931-9057-2ed3aa392217"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} f:labels: .: {} f:app: {} f:control-plane: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"manager"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"GOMEMLIMIT"}: .: {} f:name: {} f:value: {} 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-metrics-server/metrics-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} 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: {} k:{"name":"metrics-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-30T23:23:56Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:58:43Z" name: odh-model-controller-769875db56 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: odh-model-controller uid: 884ddb67-ed9a-4931-9057-2ed3aa392217 resourceVersion: "101901" uid: e83d1aa8-f169-4c1b-96ab-13eaf767709a spec: replicas: 1 selector: matchLabels: control-plane: odh-model-controller pod-template-hash: 769875db56 template: metadata: annotations: kubectl.kubernetes.io/default-container: manager labels: app: odh-model-controller control-plane: odh-model-controller pod-template-hash: 769875db56 spec: containers: - args: - --metrics-bind-address=:8443 - --leader-elect - --health-probe-bind-address=:8081 command: - /manager env: - name: GOMEMLIMIT value: 1800MiB - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: NIM_STATE value: removed - name: KSERVE_STATE value: managed - name: MODELREGISTRY_STATE value: removed image: quay.io/opendatahub/odh-model-controller@sha256:94f7f4383ef91d10d60d82c0858a60158a02915fdd3000d507210139faaac775 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - mountPath: /tmp/k8s-metrics-server/metrics-certs name: metrics-certs readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: odh-model-controller serviceAccountName: odh-model-controller terminationGracePeriodSeconds: 10 volumes: - name: cert secret: defaultMode: 420 secretName: odh-model-controller-webhook-cert - name: metrics-certs secret: defaultMode: 420 secretName: odh-model-controller-metrics-tls status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-10-30T23:34:25Z" generation: 1 labels: app: usage-tenancy-proxy pod-template-hash: 9c5d49bcd managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"876e6e2a-6b81-4ddb-bf1e-32588c131f74"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:app: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"proxy"}: .: {} f:command: {} f:env: .: {} k:{"name":"LOG_LEVEL"}: .: {} f:name: {} f:value: {} k:{"name":"LOKI_GATEWAY_SERVICE"}: .: {} f:name: {} f:value: {} k:{"name":"NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"OPENSSL_CONF"}: .: {} f:name: {} f:value: {} k:{"name":"PYTHONPATH"}: .: {} f:name: {} f:value: {} k:{"name":"PYTHONUNBUFFERED"}: .: {} 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:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/pki/ca-trust/extracted/pem"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/etc/tls/private"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/opt/app-root/src/proxy"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:fsGroup: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"proxy-source"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"service-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:items: {} f:name: {} f:name: {} k:{"name":"tls-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-10-30T23:34:25Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:terminatingReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-10-30T23:34:52Z" name: usage-logs-tenancy-proxy-9c5d49bcd namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: usage-logs-tenancy-proxy uid: 876e6e2a-6b81-4ddb-bf1e-32588c131f74 resourceVersion: "22507" uid: 67a91d54-102f-46f1-866c-7233085cc7c5 spec: replicas: 1 selector: matchLabels: app: usage-tenancy-proxy pod-template-hash: 9c5d49bcd template: metadata: labels: app: usage-tenancy-proxy pod-template-hash: 9c5d49bcd spec: containers: - command: - python3 - /opt/app-root/src/proxy/main.py env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: LOKI_GATEWAY_SERVICE value: data-science-lokistack-gateway-http - name: PYTHONPATH value: /opt/app-root/src/proxy - name: PYTHONUNBUFFERED value: "1" - name: LOG_LEVEL value: INFO - name: OPENSSL_CONF value: /opt/app-root/src/proxy/openssl.conf image: registry.redhat.io/ubi9/python-312@sha256:f6713d327d37e654a443752e6654b5aab88f31690e1161eed9c34dd837870172 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /health port: 8443 scheme: HTTPS initialDelaySeconds: 10 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 1 name: proxy ports: - containerPort: 8443 name: https protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /ready port: 8443 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 200m memory: 256Mi requests: cpu: 50m memory: 128Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/app-root/src/proxy name: proxy-source readOnly: true - mountPath: /etc/tls/private name: tls-cert readOnly: true - mountPath: /etc/pki/ca-trust/extracted/pem name: service-ca readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 1001 runAsNonRoot: true serviceAccount: usage-tenancy-proxy serviceAccountName: usage-tenancy-proxy terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: usage-tenancy-proxy-source name: proxy-source - name: tls-cert secret: defaultMode: 288 secretName: usage-logs-tenancy-proxy-tls - configMap: defaultMode: 420 items: - key: service-ca.crt path: tls-ca-bundle.pem name: usage-logs-tenancy-proxy-ca-bundle name: service-ca status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 kind: ReplicaSetList metadata: resourceVersion: "142125"