--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "2" deployment.kubernetes.io/max-replicas: "3" deployment.kubernetes.io/revision: "1" platform.opendatahub.io/instance.generation: "2" platform.opendatahub.io/instance.name: default-gateway platform.opendatahub.io/instance.uid: abdfa3af-4b9d-4da5-8ffb-9d3db406064c platform.opendatahub.io/type: Open Data Hub platform.opendatahub.io/version: 3.5.0-ea.1 creationTimestamp: "2026-06-15T04:34:57Z" generation: 1 labels: app: dashboard-redirect app.kubernetes.io/part-of: gatewayconfig pod-template-hash: 6446c88f59 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: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: {} f:app.kubernetes.io/part-of: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"7719c2ca-8df0-4c9e-b9fe-a402796f330b"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:opendatahub.io/redirect-config-hash: {} f:labels: .: {} f:app: {} f:app.kubernetes.io/part-of: {} f:pod-template-hash: {} f:spec: f:containers: k:{"name":"nginx"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} 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/nginx/nginx.conf"}: .: {} f:mountPath: {} f:name: {} f:subPath: {} k:{"mountPath":"/opt/app-root/etc/nginx.default.d/redirect.conf"}: .: {} f:mountPath: {} f:name: {} f:subPath: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"redirect-config"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-06-15T04:34:57Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:35:02Z" name: dashboard-redirect-6446c88f59 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: dashboard-redirect uid: 7719c2ca-8df0-4c9e-b9fe-a402796f330b resourceVersion: "17371" uid: fbf3ebdc-f97d-47f5-bb17-8103daa242a2 spec: replicas: 2 selector: matchLabels: app: dashboard-redirect pod-template-hash: 6446c88f59 template: metadata: annotations: opendatahub.io/redirect-config-hash: 75bf9b6634700b928d13c72772fcd062492a33eab5e9d70dd31184b2f7ce4030 labels: app: dashboard-redirect app.kubernetes.io/part-of: gatewayconfig pod-template-hash: 6446c88f59 spec: containers: - command: - /usr/libexec/s2i/run image: registry.access.redhat.com/ubi9/nginx-126:latest imagePullPolicy: Always name: nginx ports: - containerPort: 8080 name: http protocol: TCP resources: limits: cpu: 200m memory: 128Mi requests: cpu: 50m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/nginx/nginx.conf name: redirect-config subPath: nginx.conf - mountPath: /opt/app-root/etc/nginx.default.d/redirect.conf name: redirect-config subPath: redirect.conf dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: dashboard-redirect-config name: redirect-config status: availableReplicas: 2 fullyLabeledReplicas: 2 observedGeneration: 1 readyReplicas: 2 replicas: 2 - 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: d97dbb65-98f2-40a6-aa1a-3ecddb77e693 platform.opendatahub.io/type: Open Data Hub platform.opendatahub.io/version: 3.5.0-ea.1 creationTimestamp: "2026-06-15T04:34:36Z" 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: 69fc866d76 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/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":"ae412e9a-4367-4aa6-b7fd-7787e64b400d"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:app.opendatahub.io/KserveConfigHash: {} f:kubectl.kubernetes.io/default-container: {} 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: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: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-06-15T04:34:36Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:35:11Z" name: kserve-controller-manager-69fc866d76 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: kserve-controller-manager uid: ae412e9a-4367-4aa6-b7fd-7787e64b400d resourceVersion: "17605" uid: e0c7fda9-8584-47fa-a3f4-dc96121695e5 spec: replicas: 1 selector: matchLabels: 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: 69fc866d76 template: metadata: annotations: app.opendatahub.io/KserveConfigHash: dHN3dI_ejliOGDUXbqXyZ5UDuCTqiS90uyg8qlYN1Lo kubectl.kubernetes.io/default-container: manager 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: 69fc866d76 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-1-kserve- image: quay.io/opendatahub/kserve-controller:odh-v3.5-EA1 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 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 - 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: d97dbb65-98f2-40a6-aa1a-3ecddb77e693 platform.opendatahub.io/type: Open Data Hub platform.opendatahub.io/version: 3.5.0-ea.1 creationTimestamp: "2026-06-15T04:34:36Z" 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: 864bfd7bc9 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: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":"80ad534f-5966-46e4-890d-d7c88a7660a6"}: {} 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:app.kubernetes.io/part-of: {} f:app.opendatahub.io/kserve: {} 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-06-15T04:34:36Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:35:11Z" name: llmisvc-controller-manager-864bfd7bc9 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: llmisvc-controller-manager uid: 80ad534f-5966-46e4-890d-d7c88a7660a6 resourceVersion: "17597" uid: d4af851d-08a8-4d5e-8402-4893044e02ce spec: replicas: 1 selector: matchLabels: 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: 864bfd7bc9 template: metadata: annotations: kubectl.kubernetes.io/default-container: manager 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: 864bfd7bc9 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-1-kserve- image: quay.io/opendatahub/odh-kserve-llmisvc-controller:odh-v3.5-EA1 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: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - 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-06-15T04:39:06Z" 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: 6d6f6cfd4f 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.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":"4b1a22f7-8a6b-4ce2-b825-b8d5581b9cd5"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: 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: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: {} 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: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-06-15T04:39:06Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:39:15Z" name: maas-api-6d6f6cfd4f namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: maas-api uid: 4b1a22f7-8a6b-4ce2-b825-b8d5581b9cd5 resourceVersion: "25081" uid: 78debcae-2167-4c40-ba9f-15a0a9c9d4a0 spec: replicas: 1 selector: matchLabels: app.kubernetes.io/component: api app.kubernetes.io/name: maas-api app.kubernetes.io/part-of: models-as-a-service pod-template-hash: 6d6f6cfd4f template: metadata: 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: 6d6f6cfd4f 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 image: quay.io/opendatahub/maas-api@sha256:d4ea60ff8f8bf41662af69aaacff1c0acffce42540131df563c31fe591b16ae5 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 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 dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: maas-api serviceAccountName: maas-api terminationGracePeriodSeconds: 30 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 status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - 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-06-15T04:38:31Z" generation: 2 labels: app: maas-controller control-plane: maas-controller pod-template-hash: 5cc5879d57 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":"f8171be9-c113-4807-acb1-12c817cca24a"}: {} 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":"MAAS_API_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"MAAS_SUBSCRIPTION_NAMESPACE"}: .: {} f:name: {} f:value: {} 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: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-06-15T04:38:47Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:38:47Z" name: maas-controller-5cc5879d57 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: maas-controller uid: f8171be9-c113-4807-acb1-12c817cca24a resourceVersion: "24600" uid: a229ed29-8ed0-4147-8f33-dad67ea7d35a spec: replicas: 0 selector: matchLabels: control-plane: maas-controller pod-template-hash: 5cc5879d57 template: metadata: labels: app: maas-controller control-plane: maas-controller pod-template-hash: 5cc5879d57 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) - --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 image: quay.io/opendatahub/maas-controller@sha256:8cc4cfc6d0b9b01aa10c4e19969d481dba37d4919f4342b862ab5b0d67bcac92 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert 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 status: observedGeneration: 2 replicas: 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-06-15T04:38:31Z" generation: 2 labels: app: maas-controller control-plane: maas-controller pod-template-hash: 79cf7bb55f 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":"f8171be9-c113-4807-acb1-12c817cca24a"}: {} 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":"MAAS_API_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"MAAS_SUBSCRIPTION_NAMESPACE"}: .: {} f:name: {} f:value: {} 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: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-06-15T04:42:48Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:observedGeneration: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:42:48Z" name: maas-controller-79cf7bb55f namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: maas-controller uid: f8171be9-c113-4807-acb1-12c817cca24a resourceVersion: "28586" uid: 5e37065a-405e-492b-a8b1-132ddcac7bdf spec: replicas: 0 selector: matchLabels: control-plane: maas-controller pod-template-hash: 79cf7bb55f template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-06-15T04:38:31Z" labels: app: maas-controller control-plane: maas-controller pod-template-hash: 79cf7bb55f 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) - --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 image: quay.io/opendatahub/maas-controller@sha256:8cc4cfc6d0b9b01aa10c4e19969d481dba37d4919f4342b862ab5b0d67bcac92 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert 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 status: observedGeneration: 2 replicas: 0 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "3" creationTimestamp: "2026-06-15T04:42:35Z" generation: 3 labels: app: maas-controller control-plane: maas-controller pod-template-hash: 95596b4f9 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":"f8171be9-c113-4807-acb1-12c817cca24a"}: {} 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":"MAAS_API_NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"MAAS_SUBSCRIPTION_NAMESPACE"}: .: {} f:name: {} f:value: {} 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: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-06-15T04:44:16Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:44:28Z" name: maas-controller-95596b4f9 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: maas-controller uid: f8171be9-c113-4807-acb1-12c817cca24a resourceVersion: "30123" uid: c2340e18-1391-4cbd-9b87-2e6152fafcca spec: replicas: 1 selector: matchLabels: control-plane: maas-controller pod-template-hash: 95596b4f9 template: metadata: annotations: kubectl.kubernetes.io/restartedAt: "2026-06-15T04:38:31Z" labels: app: maas-controller control-plane: maas-controller pod-template-hash: 95596b4f9 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) - --metadata-cache-ttl=60 - --authz-cache-ttl=60 - --enable-tenant-namespace-discovery=true 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 image: quay.io/opendatahub/maas-controller@sha256:8cc4cfc6d0b9b01aa10c4e19969d481dba37d4919f4342b862ab5b0d67bcac92 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert 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 status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 3 readyReplicas: 1 replicas: 1 - 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-modelcontroller platform.opendatahub.io/instance.uid: ae9850f0-4d6c-41d0-a336-1894dbafa0b8 platform.opendatahub.io/type: Open Data Hub platform.opendatahub.io/version: 3.5.0-ea.1 creationTimestamp: "2026-06-15T04:34:28Z" 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: 5dd488fc48 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: {} 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":"a74a7f63-98e8-4a7f-b9de-d13cb82863b5"}: {} 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:app.opendatahub.io/odh-model-controller: {} 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-06-15T04:34:28Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:34:43Z" name: model-serving-api-5dd488fc48 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: model-serving-api uid: a74a7f63-98e8-4a7f-b9de-d13cb82863b5 resourceVersion: "16183" uid: d56516a7-aa5b-43cb-ad57-4f2a34c8b08d 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 app.opendatahub.io/odh-model-controller: "true" pod-template-hash: 5dd488fc48 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 app.opendatahub.io/odh-model-controller: "true" pod-template-hash: 5dd488fc48 spec: containers: - env: - name: TLS_CERT_DIR value: /tls - name: GATEWAY_LABEL_SELECTOR image: quay.io/opendatahub/odh-model-serving-api:odh-v3.5-EA1 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 - 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-modelcontroller platform.opendatahub.io/instance.uid: ae9850f0-4d6c-41d0-a336-1894dbafa0b8 platform.opendatahub.io/type: Open Data Hub platform.opendatahub.io/version: 3.5.0-ea.1 creationTimestamp: "2026-06-15T04:34:27Z" 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: 6dc94f689f 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: {} f:app.kubernetes.io/part-of: {} f:app.opendatahub.io/odh-model-controller: {} f:control-plane: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"90202511-510c-4aa7-a00d-87dd6dc558a6"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:kubectl.kubernetes.io/default-container: {} 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: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: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-06-15T04:34:27Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:34:43Z" name: odh-model-controller-6dc94f689f namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: odh-model-controller uid: 90202511-510c-4aa7-a00d-87dd6dc558a6 resourceVersion: "16173" uid: 17218159-6025-4934-a79e-04198b58d0b3 spec: replicas: 1 selector: matchLabels: app.kubernetes.io/part-of: odh-model-controller app.opendatahub.io/odh-model-controller: "true" control-plane: odh-model-controller pod-template-hash: 6dc94f689f template: metadata: annotations: kubectl.kubernetes.io/default-container: manager 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: 6dc94f689f 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-EA1 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 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 status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "3" deployment.kubernetes.io/max-replicas: "4" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-06-15T04:34:07Z" generation: 1 labels: control-plane: controller-manager name: opendatahub-operator pod-template-hash: 54bcdff745 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:control-plane: {} f:name: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"12821699-aa7d-4b25-b3ca-6b5af27bcd9e"}: {} f:spec: f:replicas: {} f:selector: {} f:template: 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:labels: .: {} f:control-plane: {} f:name: {} f:pod-template-hash: {} 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_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: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-06-15T04:34:07Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:34:24Z" name: opendatahub-operator-controller-manager-54bcdff745 namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: opendatahub-operator-controller-manager uid: 12821699-aa7d-4b25-b3ca-6b5af27bcd9e resourceVersion: "14980" uid: b326b7ce-973a-4f90-bdc5-78daab6a79a4 spec: replicas: 3 selector: matchLabels: control-plane: controller-manager name: opendatahub-operator pod-template-hash: 54bcdff745 template: 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.1 createdAt: "2026-05-18T10:16:29Z" kubectl.kubernetes.io/default-container: manager olm.operatorGroup: opendatahub-operatorgroup olm.operatorNamespace: opendatahub olm.targetNamespaces: "" olmcahash: 563ef10985e0eda92a588fce9a80e5692ad8ff7731a49e512d531327e4946c16 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":"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.1"}}]}' 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 labels: control-plane: controller-manager name: opendatahub-operator pod-template-hash: 54bcdff745 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: 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.1 - name: RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE value: quay.io/opendatahub/odh-kube-rbac-proxy:3.5.0-ea.1 - name: OPERATOR_CONDITION_NAME value: opendatahub-operator.v3.5.0-ea.1 image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.1 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 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 dnsPolicy: ClusterFirst initContainers: - command: - cp - -r - /opt/manifests-template/. - /opt/manifests/ image: quay.io/opendatahub/opendatahub-operator:v3.5.0-ea.1 imagePullPolicy: Always name: copy-manifests resources: limits: cpu: 100m memory: 256Mi requests: cpu: 10m memory: 64Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /opt/manifests name: manifests restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: opendatahub-operator-controller-manager serviceAccountName: opendatahub-operator-controller-manager terminationGracePeriodSeconds: 10 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 status: availableReplicas: 3 fullyLabeledReplicas: 3 observedGeneration: 1 readyReplicas: 3 replicas: 3 - 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-06-15T04:37:23Z" generation: 1 labels: app: postgres pod-template-hash: 69fb4594cf 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":"a5e2f648-34fb-4173-a5dc-65da429451fe"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:labels: .: {} f:app: {} f:pod-template-hash: {} 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:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"data"}: .: {} f:emptyDir: {} f:name: {} manager: kube-controller-manager operation: Update time: "2026-06-15T04:37:23Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-06-15T04:37:33Z" name: postgres-69fb4594cf namespace: opendatahub ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: postgres uid: a5e2f648-34fb-4173-a5dc-65da429451fe resourceVersion: "22982" uid: 1e4ea1e8-0849-4ce5-8382-2563926f1fbb spec: replicas: 1 selector: matchLabels: app: postgres pod-template-hash: 69fb4594cf template: metadata: labels: app: postgres pod-template-hash: 69fb4594cf 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/lib/pgsql/data name: data dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - emptyDir: {} name: data status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 kind: ReplicaSetList metadata: resourceVersion: "53515"