@odh-dashboard/model-servingis the Model Serving UI for ODH Dashboard: serving runtimes, deploy wizard, inference endpoints, and deployment status across projects.- Replaces deprecated
frontend/src/pages/modelServing/.
- No package-local BFF: all API traffic goes through the main dashboard backend (e.g.
/api/k8s/) or equivalent cluster proxy; the UI never talks to a dedicated model-serving Go/Node service. - Not a separate Webpack remote: imported as
@odh-dashboard/model-serving; registers extensions via the dynamic plugin SDK (extensions/index.tsaggregatesextensions/odh.ts,model-registry.ts,model-catalog.ts). - Platform packages (notably
packages/kserve) implement extension points such asmodel-serving.platform,watch-deployments, anddeployment/deployso the shared wizard and deployments table createInferenceService/ServingRuntimeresources correctly for KServe vs other platforms. - Data flow: Kubernetes → main backend → React; platform-specific behaviour is injected through those extension points instead of branching inside every component.
| Term | Definition |
|---|---|
| ServingRuntime | CRD template for a model server (image, formats, defaults). |
| InferenceService | CRD for one deployed model endpoint; primary resource managed here. |
| KServe | Single-model serving; each InferenceService in its own pod (packages/kserve). |
| ModelMesh | Multi-model serving sharing server pods. |
| Endpoint URL | HTTP(S) URL for inference; shown in table and detail views. |
| Deployment | Package abstraction Deployment<M, S> wrapping model + server + status + endpoints. |
| Platform extension | model-serving.platform (and related) registered by a platform package. |
| Extension point | Interfaces in extension-points/index.ts for wizard, table, delete, auth, metrics. |
| Feature flag | disableModelServing in OdhDashboardConfig hides the entire area. |
| Dependency | Type | Details |
|---|---|---|
| Main ODH Dashboard | Host | Routing, auth, k8s proxy; loads extensions at startup. |
packages/kserve |
Platform | KServe: platform, watch-deployments, deploy, wizard hooks, etc. |
packages/model-registry |
Package | Deploy-from-registry flow; PreWizardDeployModal and modelRegistry/ integration. |
| Main dashboard backend | HTTP proxy | InferenceService / ServingRuntime CRUD via /api/k8s/. |
| Kubernetes | API | CRUD + watches on serving CRDs and related resources. |
OdhDashboardConfig |
Config | disableModelServing gates the area. |
- Deprecated
frontend/src/pages/modelServing/may still exist; redirect to/ai-hub/deployments/lives inextensions/odh.ts— extendpackages/model-serving/only. - ModelMesh migration is incomplete; some ModelMesh UI may still live in
@odh-dashboard/internal— confirm before large ModelMesh work. - Platforms must register required extension points or the wizard has no deploy target; watch console for unresolved-extension warnings.
model-serving.deployment/wizard-field2supersedeswizard-field; a rename is tracked in code (TODO) — treatwizard-field2as transitional naming.