feat(#3832): remove KFMR client code from kserve connector#3833
feat(#3832): remove KFMR client code from kserve connector#3833fullsend-ai-coder[bot] wants to merge 1 commit into
Conversation
Remove all KubeFlow Model Registry (KFMR) REST client code from the kserve-kubeflow-connector-backend plugin per RHIDP-15200. Shared utilities (PropertyKeys, NormalizerFormat, getTagsFromCustomProps, getStringPropVal, sanitizeName, sanitizeModelVersion) relocated from Kfmr.ts to types.ts. Model Catalog code (catalog route discovery, getModelCard, CatalogClient interface) extracted into new Catalog.ts module. KServe.ts updated to import PropertyKeys from types.ts. InformerService.ts simplified to KServe-only reconciliation path: removed processKFMR, setupKFMR, loopOverKFMR, KFMR label constants, KubeflowNormalizer, kserveInferenceServiceMapping, and all KFMR imports. ReconcilerConfig cleaned up: kfmrClients/kfmrRoutes removed, kfmrCatalogRoute renamed to catalogRoute. Kfmr.ts deleted. undici dependency removed (TLS-skip agent no longer needed). Catalog route discovery preserved via setupCatalogRoute for future Model Catalog API enhancements. Closes #3832 Assisted-by: Claude Opus 4.6
Changed Packages
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3833 +/- ##
=======================================
Coverage 56.26% 56.26%
=======================================
Files 2499 2499
Lines 96058 96058
Branches 26644 26644
=======================================
Hits 54047 54047
Misses 41683 41683
Partials 328 328
*This pull request uses carry forward flags. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
|
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 5:29 PM UTC · Completed 5:43 PM UTC |
Review — PR #3833Verdict: ✅ Approve SummaryThis PR cleanly removes the KubeFlow Model Registry (KFMR) REST client code from the Key observations:
Findings1. Relocated
|
| }); | ||
|
|
||
| if (!response.ok) { | ||
| const body = await response.text(); |
There was a problem hiding this comment.
[low] url-encoding
fetchModelCard encodes only spaces (.replace(/ /g, "%20")) for sourceId and modelName. Other special characters (/, ?, #, &) are not encoded, which could produce malformed URLs. Pre-existing issue from Kfmr.ts, but opportunity to use encodeURIComponent() in the fresh module.
Suggested fix: Replace .replace(/ /g, "%20") with encodeURIComponent() for both sourceId and modelName parameters.
| console.log(`fetchModelCard: GET request to ${url} returned ok`); | ||
| const data: CatalogModel = await response.json(); | ||
| return data.readme; | ||
| } |
There was a problem hiding this comment.
[low] tls-behavior-change
fetchModelCard uses standard fetch() which enforces TLS verification, unlike the old undici-based code that skipped TLS. Authorized by design decision D4. Environments with self-signed certs should use NODE_EXTRA_CA_CERTS. Not yet called in active code paths.



Remove all KubeFlow Model Registry (KFMR) REST client code from the kserve-kubeflow-connector-backend plugin per RHIDP-15200.
Shared utilities (PropertyKeys, NormalizerFormat, getTagsFromCustomProps, getStringPropVal, sanitizeName, sanitizeModelVersion) relocated from Kfmr.ts to types.ts. Model Catalog code (catalog route discovery, getModelCard, CatalogClient interface) extracted into new Catalog.ts module. KServe.ts updated to import PropertyKeys from types.ts.
InformerService.ts simplified to KServe-only reconciliation path: removed processKFMR, setupKFMR, loopOverKFMR, KFMR label constants, KubeflowNormalizer, kserveInferenceServiceMapping, and all KFMR imports. ReconcilerConfig cleaned up: kfmrClients/kfmrRoutes removed, kfmrCatalogRoute renamed to catalogRoute.
Kfmr.ts deleted. undici dependency removed (TLS-skip agent no longer needed). Catalog route discovery preserved via setupCatalogRoute for future Model Catalog API enhancements.
Assisted-by: Claude Opus 4.6
Closes #3832
Post-script verification
agent/3832-remove-kfmr-client-code)8d3503a7a74718f7eea8b2568fcd31c0ef731c05..HEAD)