From 9b9d650b05d8779bdce025aab18b2c7f656fb62a Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:48:20 +0530 Subject: [PATCH 01/22] Update @odh-dashboard/model-registry: fix a11y from model catalog details (#2627) Upstream commit: 65332e0ae2b74e4431224cc31afe7638a80c7e1b --- packages/model-registry/package.json | 2 +- .../cypress/cypress/pages/modelCatalog.ts | 4 + .../modelCatalog/modelCatalogDetails.cy.ts | 113 +++++++++++++++++- .../modelCatalog/screens/ModelDetailsView.tsx | 12 +- 4 files changed, 124 insertions(+), 7 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 741db6c736..19dfad7835 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "6e18d5aca6de378c66794ae581b9c42d0767aff7" + "commit": "65332e0ae2b74e4431224cc31afe7638a80c7e1b" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalog.ts b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalog.ts index fc69134400..01f14528af 100644 --- a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalog.ts +++ b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalog.ts @@ -188,6 +188,10 @@ class ModelCatalog { return cy.findByTestId('model-long-description'); } + findModelCardMarkdown() { + return cy.findByTestId('model-card-markdown'); + } + findModelArchitecture() { return cy.findByTestId('model-architecture'); } diff --git a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalogDetails.cy.ts b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalogDetails.cy.ts index d9a1baa116..201b3f8ac5 100644 --- a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalogDetails.cy.ts +++ b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalogDetails.cy.ts @@ -7,8 +7,9 @@ import { interceptArtifactsList, interceptPerformanceArtifactsList, } from '~/__tests__/cypress/cypress/support/interceptHelpers/modelCatalog'; -import { mockCatalogModelArtifact } from '~/__mocks__'; +import { mockCatalogModelArtifact, mockCatalogModel } from '~/__mocks__'; import { ModelRegistryMetadataType } from '~/app/types'; +import { MODEL_CATALOG_API_VERSION } from '~/__tests__/cypress/cypress/support/commands/api'; describe('Model Catalog Details Page', () => { beforeEach(() => { @@ -201,3 +202,113 @@ describe('Model Catalog Details Page - Filter State Management', () => { modelCatalog.findPerformanceFiltersUpdatedAlert().should('be.visible'); }); }); + +describe('Model Catalog Details Page - Edge Cases', () => { + beforeEach(() => { + cy.intercept('GET', '/model-registry/api/v1/model_registry*', [ + mockModelRegistry({ name: 'modelregistry-sample' }), + ]).as('getModelRegistries'); + }); + + it('should show "No description" when model has no description', () => { + const modelWithoutDescription = mockCatalogModel({ + name: 'no-description-model', + description: undefined, + }); + + setupModelCatalogIntercepts({ customNonValidatedModel: modelWithoutDescription }); + modelCatalog.visit(); + modelCatalog.findLoadingState().should('not.exist'); + modelCatalog.findModelCatalogDetailLink().first().click(); + modelCatalog.findBreadcrumb().should('exist'); + + modelCatalog.findDetailsDescription().should('contain.text', 'No description'); + }); + + it('should show model card markdown when readme exists', () => { + setupModelCatalogIntercepts({}); + modelCatalog.visit(); + modelCatalog.findLoadingState().should('not.exist'); + modelCatalog.findModelCatalogDetailLink().first().click(); + modelCatalog.findBreadcrumb().should('exist'); + + modelCatalog.findModelCardMarkdown().should('exist'); + }); + + it('should show "No model card" when model has no readme', () => { + const modelWithoutReadme = mockCatalogModel({ + name: 'no-readme-model', + readme: undefined, + }); + + setupModelCatalogIntercepts({ customNonValidatedModel: modelWithoutReadme }); + modelCatalog.visit(); + modelCatalog.findLoadingState().should('not.exist'); + modelCatalog.findModelCatalogDetailLink().first().click(); + modelCatalog.findBreadcrumb().should('exist'); + + cy.contains('No model card').should('be.visible'); + }); + + it('should show "N/A" for provider when provider is not set', () => { + const modelWithoutProvider = mockCatalogModel({ + name: 'no-provider-model', + provider: undefined, + }); + + setupModelCatalogIntercepts({ customNonValidatedModel: modelWithoutProvider }); + modelCatalog.visit(); + modelCatalog.findLoadingState().should('not.exist'); + modelCatalog.findModelCatalogDetailLink().first().click(); + modelCatalog.findBreadcrumb().should('exist'); + + cy.findAllByText('N/A').should('have.length.at.least', 1); + }); + + it('should show error alert when artifacts fail to load', () => { + setupModelCatalogIntercepts({}); + + cy.intercept( + { + method: 'GET', + url: new RegExp( + `/model-registry/api/${MODEL_CATALOG_API_VERSION}/model_catalog/sources/.*/artifacts/.*`, + ), + }, + { statusCode: 500, body: { message: 'Failed to load artifacts' } }, + ).as('getArtifactsError'); + + modelCatalog.visit(); + modelCatalog.findLoadingState().should('not.exist'); + modelCatalog.findModelCatalogDetailLink().first().click(); + modelCatalog.findBreadcrumb().should('exist'); + + cy.wait('@getArtifactsError'); + cy.get('.pf-v6-c-alert.pf-m-danger').should('be.visible'); + }); + + it('should show spinner while artifacts are loading', () => { + setupModelCatalogIntercepts({}); + + cy.intercept( + { + method: 'GET', + url: new RegExp( + `/model-registry/api/${MODEL_CATALOG_API_VERSION}/model_catalog/sources/.*/artifacts/.*`, + ), + }, + (req) => { + req.on('response', (res) => { + res.setDelay(10000); + }); + }, + ).as('getArtifactsSlow'); + + modelCatalog.visit(); + modelCatalog.findLoadingState().should('not.exist'); + modelCatalog.findModelCatalogDetailLink().first().click(); + modelCatalog.findBreadcrumb().should('exist'); + + cy.findByRole('progressbar').should('exist'); + }); +}); diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelDetailsView.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelDetailsView.tsx index 066e7c4dd1..f9ce851ec1 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelDetailsView.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelDetailsView.tsx @@ -166,11 +166,13 @@ const ModelDetailsView: React.FC = ({ License - + + + Provider From 948022c4bb0490d3aa7a5c3008bd5c884f7967ad Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:32 +0530 Subject: [PATCH 02/22] Update @odh-dashboard/model-registry: hide cat toogle in case only one cat is available (#2599) (resolved conflicts) Upstream commit: c6ee0da7fb0d9f70287c8ae6f0b7db532f2b2663 --- packages/model-registry/package.json | 2 +- .../src/__mocks__/mockCatalogSourceList.ts | 19 ++ .../mocked/modelCatalog/modelCatalog.cy.ts | 96 ++++---- .../pages/mcpCatalog/screens/McpCatalog.tsx | 93 +++++-- .../screens/McpCatalogGalleryView.tsx | 53 +++- .../screens/McpCatalogSourceLabelBlocks.tsx | 5 + .../modelCatalog/screens/ModelCatalog.tsx | 91 +++++-- .../screens/ModelCatalogGalleryView.tsx | 28 +++ .../screens/ModelCatalogSourceLabelBlocks.tsx | 5 + .../utils/__tests__/modelCatalogUtils.spec.ts | 229 ++++++++++++++++++ .../modelCatalog/utils/modelCatalogUtils.ts | 15 ++ 11 files changed, 538 insertions(+), 98 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 19dfad7835..9181d9a905 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "65332e0ae2b74e4431224cc31afe7638a80c7e1b" + "commit": "c6ee0da7fb0d9f70287c8ae6f0b7db532f2b2663" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/frontend/src/__mocks__/mockCatalogSourceList.ts b/packages/model-registry/upstream/frontend/src/__mocks__/mockCatalogSourceList.ts index 070c296764..809ddf6ae3 100644 --- a/packages/model-registry/upstream/frontend/src/__mocks__/mockCatalogSourceList.ts +++ b/packages/model-registry/upstream/frontend/src/__mocks__/mockCatalogSourceList.ts @@ -56,6 +56,25 @@ export const mockCatalogSourceActive = (): CatalogSource => ({ status: 'available', }); +export const mockTwoProviderSources = (): CatalogSource[] => [ + mockCatalogSource({ labels: ['Provider one'] }), + mockCatalogSource({ + id: 'source-2', + name: 'Provider Two Source', + labels: ['Provider two'], + }), +]; + +export const mockProviderAndCustomSources = (): CatalogSource[] => [ + mockCatalogSource({ labels: ['Provider one'] }), + mockCatalogSource({ id: 'custom-source', name: 'Custom Source', labels: [] }), +]; + +export const mockDefaultSources = (): CatalogSource[] => [ + mockCatalogSource({}), + mockCatalogSource({ id: 'source-2', name: 'source 2' }), +]; + export const mockCatalogSourceList = (partial?: Partial): CatalogSourceList => ({ items: [ mockCatalogSourceActive(), diff --git a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalog.cy.ts b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalog.cy.ts index 796bb20445..2bfbd1e893 100644 --- a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalog.cy.ts +++ b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalog/modelCatalog.cy.ts @@ -10,11 +10,13 @@ import { mockCatalogPerformanceMetricsArtifact, mockCatalogSource, mockCatalogSourceList, + mockDefaultSources, + mockProviderAndCustomSources, + mockTwoProviderSources, } from '~/__mocks__'; -import type { CatalogSource } from '~/app/modelCatalogTypes'; import { MODEL_CATALOG_API_VERSION } from '~/__tests__/cypress/cypress/support/commands/api'; import { mockCatalogFilterOptionsList } from '~/__mocks__/mockCatalogFilterOptionsList'; -import { SourceLabel } from '~/app/modelCatalogTypes'; +import { SourceLabel, type CatalogSource } from '~/app/modelCatalogTypes'; import { ModelRegistryMetadataType } from '~/app/types'; type FilteredModelsInterceptConfig = { @@ -90,7 +92,7 @@ const calculateExpectedCategoryCount = (sources: CatalogSource[]): number => { }; const initIntercepts = ({ - sources = [mockCatalogSource({}), mockCatalogSource({ id: 'source-2', name: 'source 2' })], + sources = mockDefaultSources(), modelsPerCategory = 4, hasValidatedModels = false, includeAllModelsIntercept = true, @@ -275,15 +277,9 @@ describe('Model Catalog Page', () => { }); it('checkbox should work', () => { - // Calculate expected category count based on sources - const defaultSources = [ - mockCatalogSource({}), - mockCatalogSource({ id: 'source-2', name: 'source 2' }), - ]; - - const expectedCategoryCount = calculateExpectedCategoryCount(defaultSources); + const expectedCategoryCount = calculateExpectedCategoryCount(mockDefaultSources()); - initIntercepts({ sources: defaultSources, includeAllModelsIntercept: false }); + initIntercepts({ sources: mockDefaultSources(), includeAllModelsIntercept: false }); setupFilteredModelsIntercept({ returnModelsForFilters: true, @@ -328,14 +324,9 @@ describe('Model Catalog Page', () => { }); it('tensor type filter combined with other filters should work', () => { - const defaultSources = [ - mockCatalogSource({}), - mockCatalogSource({ id: 'source-2', name: 'source 2' }), - ]; + const expectedCategoryCount = calculateExpectedCategoryCount(mockDefaultSources()); - const expectedCategoryCount = calculateExpectedCategoryCount(defaultSources); - - initIntercepts({ sources: defaultSources, includeAllModelsIntercept: false }); + initIntercepts({ sources: mockDefaultSources(), includeAllModelsIntercept: false }); setupFilteredModelsIntercept({ returnModelsForFilters: true, @@ -363,10 +354,7 @@ describe('Performance Empty State', () => { describe('Community & Custom Section', () => { it('should show performance empty state when toggle is ON', () => { initIntercepts({ - sources: [ - mockCatalogSource({ labels: ['Provider one'] }), - mockCatalogSource({ id: 'custom-source', name: 'Custom Source', labels: [] }), - ], + sources: mockProviderAndCustomSources(), hasValidatedModels: true, }); setupFilteredModelsIntercept({ returnModelsForFilters: false }); @@ -386,10 +374,7 @@ describe('Performance Empty State', () => { it('should show models when toggle is OFF', () => { initIntercepts({ - sources: [ - mockCatalogSource({ labels: ['Provider one'] }), - mockCatalogSource({ id: 'custom-source', name: 'Custom Source', labels: [] }), - ], + sources: mockProviderAndCustomSources(), }); modelCatalog.visit(); @@ -403,7 +388,7 @@ describe('Performance Empty State', () => { describe('Labeled Section Without Validated Models', () => { it('should show performance empty state when toggle is ON and no validated models', () => { initIntercepts({ - sources: [mockCatalogSource({ labels: ['Provider one'] })], + sources: mockTwoProviderSources(), hasValidatedModels: false, }); // No user filters/search; this scenario should hit the special "No performance data" state. @@ -420,7 +405,7 @@ describe('Performance Empty State', () => { it('should show models when toggle is OFF', () => { initIntercepts({ - sources: [mockCatalogSource({ labels: ['Provider one'] })], + sources: mockTwoProviderSources(), hasValidatedModels: false, }); modelCatalog.visit(); @@ -434,7 +419,7 @@ describe('Performance Empty State', () => { describe('Labeled Section With Validated Models', () => { it('should show models when toggle is ON and section has validated models', () => { initIntercepts({ - sources: [mockCatalogSource({ labels: ['Provider one'] })], + sources: mockTwoProviderSources(), hasValidatedModels: true, }); modelCatalog.visit(); @@ -450,10 +435,7 @@ describe('Performance Empty State', () => { describe('Empty State Actions', () => { it('should turn off toggle when clicking "Turn Model performance view off"', () => { initIntercepts({ - sources: [ - mockCatalogSource({ labels: ['Provider one'] }), - mockCatalogSource({ id: 'custom-source', name: 'Custom Source', labels: [] }), - ], + sources: mockProviderAndCustomSources(), hasValidatedModels: true, }); setupFilteredModelsIntercept({ returnModelsForFilters: false }); @@ -471,10 +453,7 @@ describe('Performance Empty State', () => { it('should navigate to All models when clicking "View all models with performance data"', () => { initIntercepts({ - sources: [ - mockCatalogSource({ labels: ['Provider one'] }), - mockCatalogSource({ id: 'custom-source', name: 'Custom Source', labels: [] }), - ], + sources: mockProviderAndCustomSources(), hasValidatedModels: true, }); setupFilteredModelsIntercept({ returnModelsForFilters: false }); @@ -491,7 +470,7 @@ describe('Performance Empty State', () => { it('should show performance empty state after clicking Reset filters when toggle is ON', () => { initIntercepts({ - sources: [mockCatalogSource({ labels: ['Provider one'] })], + sources: mockTwoProviderSources(), hasValidatedModels: false, }); setupFilteredModelsIntercept({ returnModelsForFilters: false }); @@ -514,10 +493,7 @@ describe('Performance Empty State', () => { it('should work correctly when toggling performance view', () => { initIntercepts({ - sources: [ - mockCatalogSource({ labels: ['Provider one'] }), - mockCatalogSource({ id: 'custom-source', name: 'Custom Source', labels: [] }), - ], + sources: mockProviderAndCustomSources(), hasValidatedModels: true, }); setupFilteredModelsIntercept({ returnModelsForFilters: false }); @@ -541,7 +517,7 @@ describe('Performance Empty State', () => { it('should show "No results found" when toggle is ON and user applies filter that returns 0 results', () => { initIntercepts({ - sources: [mockCatalogSource({ labels: ['Provider one'] })], + sources: mockTwoProviderSources(), hasValidatedModels: true, }); setupFilteredModelsIntercept({ returnModelsForFilters: false }); @@ -562,7 +538,7 @@ describe('Performance Empty State', () => { describe('All Models Section', () => { it('should show models in All models section even when toggle is ON', () => { initIntercepts({ - sources: [mockCatalogSource({ labels: ['Provider one'] })], + sources: mockTwoProviderSources(), hasValidatedModels: true, }); modelCatalog.visit(); @@ -575,3 +551,35 @@ describe('All Models Section', () => { modelCatalog.findPerformanceEmptyState().should('not.exist'); }); }); + +describe('Single Category Behavior', () => { + it('should hide category toggle when only one category is active', () => { + initIntercepts({ + sources: [mockCatalogSource({ labels: ['Provider one'] })], + }); + modelCatalog.visit(); + + cy.findByTestId('label-Provider one').should('not.exist'); + cy.findByTestId('all').should('not.exist'); + }); + + it('should auto-select the single active category and show its models', () => { + initIntercepts({ + sources: [mockCatalogSource({ labels: ['Provider one'] })], + }); + modelCatalog.visit(); + + modelCatalog.findModelCatalogCards().should('have.length.at.least', 1); + }); + + it('should show full grid view for the auto-selected single category', () => { + initIntercepts({ + sources: [mockCatalogSource({ labels: ['Provider one'] })], + hasValidatedModels: true, + }); + modelCatalog.visit(); + + modelCatalog.togglePerformanceView(); + modelCatalog.findModelCatalogCards().should('have.length.at.least', 1); + }); +}); diff --git a/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalog.tsx b/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalog.tsx index 03f82235f9..1a494411bc 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalog.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalog.tsx @@ -1,22 +1,54 @@ import * as React from 'react'; import { PageSection, Sidebar, SidebarContent, SidebarPanel, Stack } from '@patternfly/react-core'; import { ApplicationsPage, ProjectObjectType, TitleWithIcon } from 'mod-arch-shared'; +import { SearchIcon } from '@patternfly/react-icons'; import ScrollViewOnMount from '~/app/shared/components/ScrollViewOnMount'; import { McpCatalogContext } from '~/app/context/mcpCatalog/McpCatalogContext'; import { hasMcpFiltersApplied } from '~/app/pages/mcpCatalog/utils/mcpCatalogUtils'; import McpCatalogFilters from '~/app/pages/mcpCatalog/components/McpCatalogFilters'; import { MCP_CATALOG_TITLE, MCP_CATALOG_DESCRIPTION } from '~/app/pages/mcpCatalog/const'; +import { getActiveSourceLabels } from '~/app/pages/modelCatalog/utils/modelCatalogUtils'; +import EmptyModelCatalogState from '~/app/pages/modelCatalog/EmptyModelCatalogState'; import McpCatalogSourceLabelSelector from './McpCatalogSourceLabelSelector'; import McpCatalogAllServersView from './McpCatalogAllServersView'; import McpCatalogGalleryView from './McpCatalogGalleryView'; const McpCatalog: React.FC = () => { - const { searchQuery, setSearchQuery, clearAllFilters, selectedSourceLabel, filters } = - React.useContext(McpCatalogContext); + const { + searchQuery, + setSearchQuery, + clearAllFilters, + selectedSourceLabel, + setSelectedSourceLabel, + filters, + catalogSources, + catalogLabels, + catalogSourcesLoaded, + } = React.useContext(McpCatalogContext); const filtersApplied = hasMcpFiltersApplied(filters, searchQuery); const isAllServersView = selectedSourceLabel === undefined && !filtersApplied; + const activeCategories = React.useMemo( + () => getActiveSourceLabels(catalogSources, catalogLabels), + [catalogSources, catalogLabels], + ); + + const isSingleCategory = activeCategories.length === 1; + const hasNoCategories = activeCategories.length === 0; + + React.useEffect(() => { + if (catalogSourcesLoaded && isSingleCategory && selectedSourceLabel !== activeCategories[0]) { + setSelectedSourceLabel(activeCategories[0]); + } + }, [ + catalogSourcesLoaded, + isSingleCategory, + activeCategories, + selectedSourceLabel, + setSelectedSourceLabel, + ]); + const handleSearch = React.useCallback( (term: string) => { setSearchQuery(term); @@ -45,28 +77,41 @@ const McpCatalog: React.FC = () => { loaded provideChildrenPadding > - - - - - - - - - {isAllServersView ? ( - - ) : ( - - )} - - - - + {catalogSourcesLoaded && hasNoCategories ? ( + + ) : ( + + + + + + + + + {isAllServersView && !isSingleCategory ? ( + + ) : ( + + )} + + + + + )} ); diff --git a/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalogGalleryView.tsx b/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalogGalleryView.tsx index 73920a9586..e34ef8cd38 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalogGalleryView.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/mcpCatalog/screens/McpCatalogGalleryView.tsx @@ -3,6 +3,7 @@ import { Alert, Bullseye, Button, + Content, EmptyState, Flex, Grid, @@ -13,8 +14,15 @@ import { import { SearchIcon } from '@patternfly/react-icons'; import { McpCatalogContext } from '~/app/context/mcpCatalog/McpCatalogContext'; import { useMcpServersBySourceLabelWithAPI } from '~/app/hooks/mcpServerCatalog/useMcpServersBySourceLabel'; -import { MCP_CATALOG_GRID_SPAN } from '~/app/pages/mcpCatalog/const'; +import { + MCP_CATALOG_GRID_SPAN, + OTHER_MCP_SERVERS_DISPLAY_NAME, +} from '~/app/pages/mcpCatalog/const'; import { mcpFiltersToFilterQuery } from '~/app/pages/mcpCatalog/utils/mcpCatalogUtils'; +import { + getLabelDisplayName, + getLabelDescription, +} from '~/app/pages/modelCatalog/utils/modelCatalogUtils'; import EmptyModelCatalogState from '~/app/pages/modelCatalog/EmptyModelCatalogState'; import ScrollViewOnMount from '~/app/shared/components/ScrollViewOnMount'; import McpCatalogCard from '~/app/pages/mcpCatalog/components/McpCatalogCard'; @@ -23,11 +31,23 @@ const PAGE_SIZE = 10; type McpCatalogGalleryViewProps = { handleFilterReset: () => void; + isSingleCategory?: boolean; + singleCategoryLabel?: string; }; -const McpCatalogGalleryView: React.FC = ({ handleFilterReset }) => { - const { mcpApiState, selectedSourceLabel, searchQuery, filters, catalogLabelsLoaded } = - React.useContext(McpCatalogContext); +const McpCatalogGalleryView: React.FC = ({ + handleFilterReset, + isSingleCategory = false, + singleCategoryLabel, +}) => { + const { + mcpApiState, + selectedSourceLabel, + searchQuery, + filters, + catalogLabels, + catalogLabelsLoaded, + } = React.useContext(McpCatalogContext); const filterQuery = React.useMemo(() => mcpFiltersToFilterQuery(filters), [filters]); @@ -80,9 +100,34 @@ const McpCatalogGalleryView: React.FC = ({ handleFil ); } + const effectiveCategoryLabel = singleCategoryLabel || selectedSourceLabel || ''; + const categoryTitle = isSingleCategory + ? getLabelDisplayName( + effectiveCategoryLabel, + catalogLabels, + OTHER_MCP_SERVERS_DISPLAY_NAME, + 'servers', + ) + : undefined; + const categoryDescription = isSingleCategory + ? getLabelDescription(effectiveCategoryLabel, catalogLabels) + : undefined; + return ( <> + {isSingleCategory && categoryTitle && ( +
+ + {categoryTitle} + + {categoryDescription && ( + + {categoryDescription} + + )} +
+ )} {items.map((server) => ( { return null; } + const activeCategoryCount = blocks.length - 1; + if (activeCategoryCount <= 1) { + return null; + } + const isSelected = (block: SourceLabelBlock) => block.label === undefined ? selectedSourceLabel === undefined diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalog.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalog.tsx index 4c4737c811..f01c6deeef 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalog.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalog.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { PageSection, Sidebar, SidebarContent, SidebarPanel } from '@patternfly/react-core'; import { ApplicationsPage, ProjectObjectType, TitleWithIcon } from 'mod-arch-shared'; +import { SearchIcon } from '@patternfly/react-icons'; import { LazyCodeRefComponent, useExtensions } from '@odh-dashboard/plugin-core'; import { useSearchParams } from 'react-router-dom'; import { isModelCatalogBannerExtension } from '~/odh/extension-points'; @@ -9,15 +10,44 @@ import ModelCatalogFilters from '~/app/pages/modelCatalog/components/ModelCatalo import { ModelCatalogContext } from '~/app/context/modelCatalog/ModelCatalogContext'; import { CategoryName } from '~/app/modelCatalogTypes'; import { useHasVisibleFiltersApplied } from '~/app/hooks/modelCatalog/useHasVisibleFiltersApplied'; +import { getActiveSourceLabels } from '~/app/pages/modelCatalog/utils/modelCatalogUtils'; +import EmptyModelCatalogState from '~/app/pages/modelCatalog/EmptyModelCatalogState'; import ModelCatalogSourceLabelSelectorNavigator from './ModelCatalogSourceLabelSelectorNavigator'; import ModelCatalogAllModelsView from './ModelCatalogAllModelsView'; import ModelCatalogGalleryView from './ModelCatalogGalleryView'; const ModelCatalog: React.FC = () => { const [searchTerm, setSearchTerm] = React.useState(''); - const { selectedSourceLabel, updateSelectedSourceLabel, clearAllFilters } = - React.useContext(ModelCatalogContext); + const { + selectedSourceLabel, + updateSelectedSourceLabel, + clearAllFilters, + catalogSources, + catalogLabels, + catalogSourcesLoaded, + } = React.useContext(ModelCatalogContext); const filtersApplied = useHasVisibleFiltersApplied(); + + const activeCategories = React.useMemo( + () => getActiveSourceLabels(catalogSources, catalogLabels), + [catalogSources, catalogLabels], + ); + + const isSingleCategory = activeCategories.length === 1; + const hasNoCategories = activeCategories.length === 0; + + React.useEffect(() => { + if (catalogSourcesLoaded && isSingleCategory && selectedSourceLabel !== activeCategories[0]) { + updateSelectedSourceLabel(activeCategories[0]); + } + }, [ + catalogSourcesLoaded, + isSingleCategory, + activeCategories, + selectedSourceLabel, + updateSelectedSourceLabel, + ]); + const isAllModelsView = selectedSourceLabel === CategoryName.allModels && !searchTerm && !filtersApplied; @@ -63,29 +93,40 @@ const ModelCatalog: React.FC = () => { component={extension.properties.component} /> ))} - - - - - - - - {isAllModelsView ? ( - - ) : ( - - )} - - - + {catalogSourcesLoaded && hasNoCategories ? ( + + ) : ( + + + + + + + + {isAllModelsView && !isSingleCategory ? ( + + ) : ( + + )} + + + + )} ); diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogGalleryView.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogGalleryView.tsx index f08c7a8f5f..ac616fe0f5 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogGalleryView.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogGalleryView.tsx @@ -2,6 +2,7 @@ import { Alert, Bullseye, Button, + Content, EmptyState, EmptyStateVariant, Flex, @@ -22,6 +23,8 @@ import { getActiveLatencyFieldName, getSortParams, generateCategoryName, + getLabelDisplayName, + getLabelDescription, hasFiltersApplied, isValueDifferentFromDefault, } from '~/app/pages/modelCatalog/utils/modelCatalogUtils'; @@ -38,11 +41,15 @@ import { type ModelCatalogPageProps = { searchTerm: string; handleFilterReset: () => void; + isSingleCategory?: boolean; + singleCategoryLabel?: string; }; const ModelCatalogGalleryView: React.FC = ({ searchTerm, handleFilterReset, + isSingleCategory = false, + singleCategoryLabel, }) => { const { selectedSourceLabel, @@ -51,6 +58,7 @@ const ModelCatalogGalleryView: React.FC = ({ filterOptionsLoaded, filterOptionsLoadError, catalogSources, + catalogLabels, catalogLabelsLoaded, catalogLabelsLoadError, setPerformanceViewEnabled, @@ -270,9 +278,29 @@ const ModelCatalogGalleryView: React.FC = ({ ); } + const effectiveCategoryLabel = singleCategoryLabel || selectedSourceLabel || ''; + const categoryTitle = isSingleCategory + ? getLabelDisplayName(effectiveCategoryLabel, catalogLabels) + : undefined; + const categoryDescription = isSingleCategory + ? getLabelDescription(effectiveCategoryLabel, catalogLabels) + : undefined; + return ( <> + {isSingleCategory && categoryTitle && ( +
+ + {categoryTitle} + + {categoryDescription && ( + + {categoryDescription} + + )} +
+ )} {catalogModels.items.map((model: CatalogModel) => ( diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogSourceLabelBlocks.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogSourceLabelBlocks.tsx index 47a608d466..1c16d6ac4e 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogSourceLabelBlocks.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/screens/ModelCatalogSourceLabelBlocks.tsx @@ -62,6 +62,11 @@ const ModelCatalogSourceLabelBlocks: React.FC = () => { return null; } + const activeCategoryCount = blocks.length - 1; + if (activeCategoryCount <= 1) { + return null; + } + const handleToggleClick = (label: string) => { updateSelectedSourceLabel(label); }; diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/__tests__/modelCatalogUtils.spec.ts b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/__tests__/modelCatalogUtils.spec.ts index 99629039ad..beaa330722 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/__tests__/modelCatalogUtils.spec.ts +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/__tests__/modelCatalogUtils.spec.ts @@ -2,6 +2,8 @@ /* eslint-disable camelcase */ import { CatalogFilterOptionsList, + CatalogLabel, + CatalogLabelList, CatalogSource, CatalogSourceList, ModelCatalogFilterStates, @@ -32,6 +34,7 @@ import { hasFiltersApplied, getArchitecturesFromArtifacts, getModelName, + getActiveSourceLabels, } from '~/app/pages/modelCatalog/utils/modelCatalogUtils'; import { mockCatalogModelArtifact } from '~/__mocks__/mockCatalogModelArtifactList'; import { ModelRegistryMetadataType } from '~/app/types'; @@ -1383,3 +1386,229 @@ describe('getModelName', () => { expect(result).toBe('my-model_v1'); }); }); + +describe('getActiveSourceLabels', () => { + const createSource = (overrides: Partial = {}): CatalogSource => ({ + id: 'source-1', + name: 'Test Source', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + ...overrides, + }); + + const createSourceList = (items: CatalogSource[] = []): CatalogSourceList => ({ + items, + size: items.length, + pageSize: 10, + nextPageToken: '', + }); + + it('returns empty array when catalogSources is null', () => { + expect(getActiveSourceLabels(null, null)).toEqual([]); + }); + + it('returns empty array when no sources are enabled or available', () => { + const sources = createSourceList([ + createSource({ + id: '1', + enabled: false, + status: CatalogSourceStatus.DISABLED, + }), + createSource({ + id: '2', + enabled: true, + status: CatalogSourceStatus.ERROR, + }), + ]); + expect(getActiveSourceLabels(sources, null)).toEqual([]); + }); + + it('returns a single label when only one category exists', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + ]); + expect(getActiveSourceLabels(sources, null)).toEqual(['Red Hat']); + }); + + it('returns multiple labels when multiple categories exist', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: ['Community'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + ]); + const result = getActiveSourceLabels(sources, null); + expect(result).toHaveLength(2); + expect(result).toContain('Red Hat'); + expect(result).toContain('Community'); + }); + + it('includes "null" label for sources without labels', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: [], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + ]); + const result = getActiveSourceLabels(sources, null); + expect(result).toContain('Red Hat'); + expect(result).toContain('null'); + }); + + it('excludes disabled sources from active categories', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: ['Excluded'], + enabled: false, + status: CatalogSourceStatus.AVAILABLE, + }), + ]); + const result = getActiveSourceLabels(sources, null); + expect(result).toEqual(['Red Hat']); + }); + + it('excludes sources with error status', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: ['Error Source'], + enabled: true, + status: CatalogSourceStatus.ERROR, + }), + ]); + const result = getActiveSourceLabels(sources, null); + expect(result).toEqual(['Red Hat']); + }); + + it('includes partially-available sources', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: ['Partial'], + enabled: true, + status: CatalogSourceStatus.PARTIALLY_AVAILABLE, + }), + ]); + const result = getActiveSourceLabels(sources, null); + expect(result).toHaveLength(2); + expect(result).toContain('Red Hat'); + expect(result).toContain('Partial'); + }); + + it('deduplicates labels from multiple sources with the same label', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + ]); + const result = getActiveSourceLabels(sources, null); + expect(result).toEqual(['Red Hat']); + }); + + it('returns only "null" label when all sources have no labels', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: [], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: [], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + ]); + const result = getActiveSourceLabels(sources, null); + expect(result).toEqual(['null']); + }); + + it('orders labels by catalogLabels priority when catalogLabels is provided', () => { + const sources = createSourceList([ + createSource({ + id: '1', + labels: ['Community'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '2', + labels: ['Red Hat'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + createSource({ + id: '3', + labels: ['Partner'], + enabled: true, + status: CatalogSourceStatus.AVAILABLE, + }), + ]); + + const createLabel = (name: string | null): CatalogLabel => ({ + name, + displayName: name ?? undefined, + }); + + const catalogLabels: CatalogLabelList = { + items: [createLabel('Red Hat'), createLabel('Partner'), createLabel('Community')], + size: 3, + pageSize: 10, + nextPageToken: '', + }; + + const result = getActiveSourceLabels(sources, catalogLabels); + expect(result).toEqual(['Red Hat', 'Partner', 'Community']); + }); +}); diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/modelCatalogUtils.ts b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/modelCatalogUtils.ts index 607492a14d..9c41a35b3c 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/modelCatalogUtils.ts +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalog/utils/modelCatalogUtils.ts @@ -753,6 +753,21 @@ export const orderLabelsByPriority = ( return orderedLabels; }; +export const getActiveSourceLabels = ( + catalogSources: CatalogSourceList | null, + catalogLabels: CatalogLabelList | null, +): string[] => { + const enabledSources = filterEnabledCatalogSources(catalogSources); + const uniqueLabels = getUniqueSourceLabels(enabledSources); + const orderedLabels = orderLabelsByPriority(uniqueLabels, catalogLabels); + + if (hasSourcesWithoutLabels(enabledSources)) { + return [...orderedLabels, SourceLabel.other]; + } + + return orderedLabels; +}; + /** * Formats model type value for display in the UI. * Converts raw API values (generative, predictive, unknown) to user-friendly display labels. From f70e6d32719b67d4c97a8bc84c6712b15f266388 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:39 +0530 Subject: [PATCH 03/22] Update @odh-dashboard/model-registry: truncate error msg from transfer jobs (#2625) Upstream commit: 244666c3f300b8297018220daca4d7750f2abaa4 --- packages/model-registry/package.json | 2 +- .../modelRegistryView/modelTransferJobs.ts | 20 +++ .../modelRegistry/modelTransferJobs.cy.ts | 140 ++++++++++++++++++ .../ModelTransferJobTableRow.tsx | 49 ++++-- 4 files changed, 197 insertions(+), 14 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 9181d9a905..c70fc9d712 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "c6ee0da7fb0d9f70287c8ae6f0b7db532f2b2663" + "commit": "244666c3f300b8297018220daca4d7750f2abaa4" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelRegistryView/modelTransferJobs.ts b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelRegistryView/modelTransferJobs.ts index 4acd1a0a4b..de524b16c1 100644 --- a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelRegistryView/modelTransferJobs.ts +++ b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelRegistryView/modelTransferJobs.ts @@ -4,6 +4,18 @@ class ModelTransferJobsTableRow extends TableRow { findJobName() { return this.find().findByTestId('job-name'); } + + findStatus() { + return this.find().findByTestId('job-status'); + } + + findErrorMessage() { + return this.find().findByTestId('job-error-message'); + } + + findRetryButton() { + return this.find().findByTestId('job-retry-button'); + } } class ModelTransferJobsPage { @@ -57,6 +69,14 @@ class ModelTransferJobsPage { findEmptyState() { return cy.findByTestId('empty-model-transfer-jobs'); } + + findRetryModal() { + return cy.findByTestId('retry-job-modal'); + } + + findRetryModalSubmitButton() { + return this.findRetryModal().findByTestId('retry-job-submit-button'); + } } export const modelTransferJobsPage = new ModelTransferJobsPage(); diff --git a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelRegistry/modelTransferJobs.cy.ts b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelRegistry/modelTransferJobs.cy.ts index 9b66f39234..0ef41f860b 100644 --- a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelRegistry/modelTransferJobs.cy.ts +++ b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelRegistry/modelTransferJobs.cy.ts @@ -477,6 +477,146 @@ describe('Model transfer jobs', () => { }); }); + it('should show truncated error message below Failed label when errorMessage exists', () => { + interceptWithSingleFailedJob( + 'job-with-error', + 'Connection timeout while uploading to destination bucket', + ); + + modelTransferJobsPage.visit(modelRegistryName); + modelTransferJobsPage.findTableRows().should('have.length', 1); + + const row = modelTransferJobsPage.getRow('job-with-error'); + row.findStatus().should('contain.text', 'Failed'); + row + .findErrorMessage() + .should('be.visible') + .and('contain.text', 'Connection timeout while uploading to destination bucket'); + }); + + it('should not show error message when job is Failed but errorMessage is undefined', () => { + const failedJobList = mockModelTransferJobList({ + items: [ + mockModelTransferJob({ + id: 'job-failed-no-msg', + name: 'job-failed-no-msg', + jobDisplayName: 'job-failed-no-msg', + status: ModelTransferJobStatus.FAILED, + errorMessage: undefined, + }), + ], + size: 1, + pageSize: 10, + nextPageToken: '', + }); + + cy.intercept( + 'GET', + `**/api/${MODEL_REGISTRY_API_VERSION}/model_registry/${modelRegistryName}/model_transfer_jobs*`, + mockModArchResponse(failedJobList), + ); + + modelTransferJobsPage.visit(modelRegistryName); + + const row = modelTransferJobsPage.getRow('job-failed-no-msg'); + row.findStatus().should('contain.text', 'Failed'); + row.findErrorMessage().should('not.exist'); + }); + + it('should not show error message when errorMessage is an empty string', () => { + const failedJobList = mockModelTransferJobList({ + items: [ + mockModelTransferJob({ + id: 'job-failed-empty-msg', + name: 'job-failed-empty-msg', + jobDisplayName: 'job-failed-empty-msg', + status: ModelTransferJobStatus.FAILED, + errorMessage: '', + }), + ], + size: 1, + pageSize: 10, + nextPageToken: '', + }); + + cy.intercept( + 'GET', + `**/api/${MODEL_REGISTRY_API_VERSION}/model_registry/${modelRegistryName}/model_transfer_jobs*`, + mockModArchResponse(failedJobList), + ); + + modelTransferJobsPage.visit(modelRegistryName); + + const row = modelTransferJobsPage.getRow('job-failed-empty-msg'); + row.findStatus().should('contain.text', 'Failed'); + row.findErrorMessage().should('not.exist'); + }); + + it('should open status modal when clicking the truncated error message', () => { + interceptWithSingleFailedJob('job-click-error', 'Upload failed: insufficient storage'); + + cy.intercept('GET', '**/model_transfer_jobs/job-click-error/events*', { + forceNetworkError: true, + }); + + modelTransferJobsPage.visit(modelRegistryName); + + const row = modelTransferJobsPage.getRow('job-click-error'); + row.findErrorMessage().click(); + + cy.findByTestId('transfer-job-status-modal').should('be.visible'); + cy.findByLabelText('Close').click(); + cy.findByTestId('transfer-job-status-modal').should('not.exist'); + }); + + it('should show retry button for failed jobs and open retry modal on click', () => { + interceptWithSingleFailedJob('job-retry-test', 'Connection error'); + + cy.intercept( + 'PUT', + `**/api/${MODEL_REGISTRY_API_VERSION}/model_registry/${modelRegistryName}/model_transfer_jobs/job-retry-test*`, + { statusCode: 200, body: {} }, + ).as('retryJob'); + + modelTransferJobsPage.visit(modelRegistryName); + + const row = modelTransferJobsPage.getRow('job-retry-test'); + row.findRetryButton().should('be.visible').click(); + + modelTransferJobsPage.findRetryModal().should('be.visible'); + modelTransferJobsPage.findRetryModal().contains('Retry model transfer job?').should('exist'); + modelTransferJobsPage.findRetryModalSubmitButton().should('be.visible'); + }); + + it('should not show error message for non-FAILED statuses', () => { + const completedJobList = mockModelTransferJobList({ + items: [ + mockModelTransferJob({ + id: 'job-completed-no-error', + name: 'job-completed-no-error', + jobDisplayName: 'job-completed-no-error', + status: ModelTransferJobStatus.COMPLETED, + }), + ], + size: 1, + pageSize: 10, + nextPageToken: '', + }); + + cy.intercept( + 'GET', + `**/api/${MODEL_REGISTRY_API_VERSION}/model_registry/${modelRegistryName}/model_transfer_jobs*`, + mockModArchResponse(completedJobList), + ); + + modelTransferJobsPage.visit(modelRegistryName); + + const row = modelTransferJobsPage.getRow('job-completed-no-error'); + row.findStatus().should('contain.text', 'Complete'); + row.findErrorMessage().should('not.exist'); + row.findRetryButton().should('not.exist'); + }); + it('should show the empty state when there are no transfer jobs', () => { const emptyList = mockModelTransferJobList({ items: [], diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelRegistry/screens/ModelTransferJobs/ModelTransferJobTableRow.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelRegistry/screens/ModelTransferJobs/ModelTransferJobTableRow.tsx index 6a797bb79e..656ca52ba3 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelRegistry/screens/ModelTransferJobs/ModelTransferJobTableRow.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelRegistry/screens/ModelTransferJobs/ModelTransferJobTableRow.tsx @@ -130,27 +130,50 @@ const ModelTransferJobTableRow: React.FC = ({ - + - + + + + {job.status === ModelTransferJobStatus.FAILED && onRequestRetry && ( + + + + )} + - {job.status === ModelTransferJobStatus.FAILED && onRequestRetry && ( + {job.status === ModelTransferJobStatus.FAILED && job.errorMessage && ( )} From f7cbc609fe813889a904d15b52b3e4660af76916 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:40 +0530 Subject: [PATCH 04/22] Update @odh-dashboard/model-registry tracking to 075e42fdc4e295c6560806ff000af5a114d0aca6 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index c70fc9d712..b41b10788b 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "244666c3f300b8297018220daca4d7750f2abaa4" + "commit": "075e42fdc4e295c6560806ff000af5a114d0aca6" }, "module-federation": { "name": "modelRegistry", From 8218fcdb971be84b23f48f7ac0d67e9ba3c4845b Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:40 +0530 Subject: [PATCH 05/22] Update @odh-dashboard/model-registry tracking to 97cee7c006a823732b202353ea3bcafb316afc8e (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index b41b10788b..fd0133943a 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "075e42fdc4e295c6560806ff000af5a114d0aca6" + "commit": "97cee7c006a823732b202353ea3bcafb316afc8e" }, "module-federation": { "name": "modelRegistry", From 0f34227c87dd3af20f50cde1d7761251bcdb899d Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:40 +0530 Subject: [PATCH 06/22] Update @odh-dashboard/model-registry tracking to b526fc0c6e543b7ba8245008cadefcf9109edf14 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index fd0133943a..c9c7aa8272 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "97cee7c006a823732b202353ea3bcafb316afc8e" + "commit": "b526fc0c6e543b7ba8245008cadefcf9109edf14" }, "module-federation": { "name": "modelRegistry", From 4056b7e0cdfa7bf94424147dd714cd6b1a1e16a4 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:40 +0530 Subject: [PATCH 07/22] Update @odh-dashboard/model-registry tracking to b84ea22f301bc1ddd3d5d93954c1f30d4556edcc (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index c9c7aa8272..314740ceaf 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "b526fc0c6e543b7ba8245008cadefcf9109edf14" + "commit": "b84ea22f301bc1ddd3d5d93954c1f30d4556edcc" }, "module-federation": { "name": "modelRegistry", From 26d083131409f7d216567755ca124f02735c5128 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:40 +0530 Subject: [PATCH 08/22] Update @odh-dashboard/model-registry tracking to 3d61dc5ef2291efcec4e5ba77b58a421e1649f22 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 314740ceaf..e26e24b3a7 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "b84ea22f301bc1ddd3d5d93954c1f30d4556edcc" + "commit": "3d61dc5ef2291efcec4e5ba77b58a421e1649f22" }, "module-federation": { "name": "modelRegistry", From a33a25faa10ec110848d9a9d6b5b7d77d51e94bf Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:41 +0530 Subject: [PATCH 09/22] Update @odh-dashboard/model-registry tracking to aebe8f8632f103865c9ecbbad717c0c8c5ea6204 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index e26e24b3a7..32df14b6d7 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "3d61dc5ef2291efcec4e5ba77b58a421e1649f22" + "commit": "aebe8f8632f103865c9ecbbad717c0c8c5ea6204" }, "module-federation": { "name": "modelRegistry", From 3182a39287c56f23604bbe625c44933f533657b2 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:41 +0530 Subject: [PATCH 10/22] Update @odh-dashboard/model-registry tracking to 3b96a3a4f168168f0a44029d6d834eb8f3e8d8c0 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 32df14b6d7..16f538163e 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "aebe8f8632f103865c9ecbbad717c0c8c5ea6204" + "commit": "3b96a3a4f168168f0a44029d6d834eb8f3e8d8c0" }, "module-federation": { "name": "modelRegistry", From b905e4cf7af2d74ea9afa816caf207417a2879d5 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:41 +0530 Subject: [PATCH 11/22] Update @odh-dashboard/model-registry tracking to 271393c425c9633e132db955bac05ab676a18202 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 16f538163e..f2e8c09600 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "3b96a3a4f168168f0a44029d6d834eb8f3e8d8c0" + "commit": "271393c425c9633e132db955bac05ab676a18202" }, "module-federation": { "name": "modelRegistry", From c5b8665e62bd15ec85d12bbbe50bb55c3b2ad2b1 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:49:41 +0530 Subject: [PATCH 12/22] Update @odh-dashboard/model-registry: chore: rename container images (#2639) Upstream commit: 243b2e06d73d685f24468a38aa3017e09c9de217 --- packages/model-registry/package.json | 2 +- packages/model-registry/upstream/.env | 6 +++--- packages/model-registry/upstream/README.md | 12 ++++++------ .../upstream/api/openapi/mod-arch.yaml | 2 +- .../integrations/kubernetes/k8mocks/base_testenv.go | 8 ++++---- .../bff/internal/repositories/model_transfer_jobs.go | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index f2e8c09600..e6c36bbece 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "271393c425c9633e132db955bac05ab676a18202" + "commit": "243b2e06d73d685f24468a38aa3017e09c9de217" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/.env b/packages/model-registry/upstream/.env index 4a0344d3a2..d6758a52b1 100644 --- a/packages/model-registry/upstream/.env +++ b/packages/model-registry/upstream/.env @@ -1,9 +1,9 @@ ############### Default settings ############### CONTAINER_TOOL=docker -IMG_UI=ghcr.io/kubeflow/model-registry/ui:latest -IMG_UI_STANDALONE=ghcr.io/kubeflow/model-registry/ui-standalone:latest -IMG_UI_FEDERATED=ghcr.io/kubeflow/model-registry/ui-federated:latest +IMG_UI=ghcr.io/kubeflow/hub/ui:latest +IMG_UI_STANDALONE=ghcr.io/kubeflow/hub/ui-standalone:latest +IMG_UI_FEDERATED=ghcr.io/kubeflow/hub/ui-federated:latest PLATFORM=linux/amd64 STYLE_THEME=mui-theme DEPLOYMENT_MODE=kubeflow diff --git a/packages/model-registry/upstream/README.md b/packages/model-registry/upstream/README.md index c54c77a79c..6ca0fde9ba 100644 --- a/packages/model-registry/upstream/README.md +++ b/packages/model-registry/upstream/README.md @@ -40,20 +40,20 @@ The following environment variables are used to configure the deployment and dev ### `IMG_UI` * **Description**: Specifies the image name and tag for the UI (with BFF). -* **Default Value**: `ghcr.io/kubeflow/model-registry/ui:latest` -* **Example**: `IMG_UI=ghcr.io/kubeflow/model-registry/ui:latest` +* **Default Value**: `ghcr.io/kubeflow/hub/ui:latest` +* **Example**: `IMG_UI=ghcr.io/kubeflow/hub/ui:latest` ### `IMG_UI_STANDALONE` * **Description**: Specifies the image name and tag for the UI (with BFF) in **standalone mode**, used for local kind deployment. -* **Default Value**: `ghcr.io/kubeflow/model-registry/ui-standalone:latest` -* **Example**: `IMG_UI_STANDALONE=ghcr.io/kubeflow/model-registry/ui-standalone:latest` +* **Default Value**: `ghcr.io/kubeflow/hub/ui-standalone:latest` +* **Example**: `IMG_UI_STANDALONE=ghcr.io/kubeflow/hub/ui-standalone:latest` ### `IMG_UI_FEDERATED` * **Description**: Specifies the image name and tag for the UI (with BFF) in **federated mode**, used for federated mode outside kubeflow. -* **Default Value**: `ghcr.io/kubeflow/model-registry/ui-federated:latest` -* **Example**: `IMG_UI_FEDERATED=ghcr.io/kubeflow/model-registry/ui-federated:latest` +* **Default Value**: `ghcr.io/kubeflow/hub/ui-federated:latest` +* **Example**: `IMG_UI_FEDERATED=ghcr.io/kubeflow/hub/ui-federated:latest` ### `PLATFORM` diff --git a/packages/model-registry/upstream/api/openapi/mod-arch.yaml b/packages/model-registry/upstream/api/openapi/mod-arch.yaml index 02d1080c11..d2144a56bd 100644 --- a/packages/model-registry/upstream/api/openapi/mod-arch.yaml +++ b/packages/model-registry/upstream/api/openapi/mod-arch.yaml @@ -3361,7 +3361,7 @@ components: message: type: string description: Human-readable description of the event. - example: "Successfully pulled image \"ghcr.io/kubeflow/model-registry/job/async-upload:latest\"" + example: "Successfully pulled image \"ghcr.io/kubeflow/hub/job/async-upload:latest\"" ModelTransferJobList: description: List of ModelTransferJob entities. type: object diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go index 8acf16ae44..7880fb8771 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go @@ -923,7 +923,7 @@ func createModelTransferJob(k8sClient kubernetes.Interface, ctx context.Context, Containers: []corev1.Container{ { Name: "async-upload", - Image: "ghcr.io/kubeflow/model-registry/job/async-upload:latest", + Image: "ghcr.io/kubeflow/hub/job/async-upload:latest", Env: []corev1.EnvVar{ {Name: "MODEL_SYNC_SOURCE_TYPE", Value: "s3"}, {Name: "MODEL_SYNC_SOURCE_AWS_KEY", Value: "models/my-model"}, @@ -1045,7 +1045,7 @@ func createModelTransferJob(k8sClient kubernetes.Interface, ctx context.Context, Containers: []corev1.Container{ { Name: "async-upload", - Image: "ghcr.io/kubeflow/model-registry/job/async-upload:latest", + Image: "ghcr.io/kubeflow/hub/job/async-upload:latest", }, }, }, @@ -1122,7 +1122,7 @@ func createModelTransferJob(k8sClient kubernetes.Interface, ctx context.Context, Containers: []corev1.Container{ { Name: "async-upload", - Image: "ghcr.io/kubeflow/model-registry/job/async-upload:latest", + Image: "ghcr.io/kubeflow/hub/job/async-upload:latest", }, }, }, @@ -1168,7 +1168,7 @@ func createModelTransferJob(k8sClient kubernetes.Interface, ctx context.Context, Spec: corev1.PodSpec{ RestartPolicy: corev1.RestartPolicyNever, Containers: []corev1.Container{ - {Name: "async-upload", Image: "ghcr.io/kubeflow/model-registry/job/async-upload:latest"}, + {Name: "async-upload", Image: "ghcr.io/kubeflow/hub/job/async-upload:latest"}, }, }, }, diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go b/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go index 63cddd78c8..b6989f0667 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go @@ -24,7 +24,7 @@ import ( const ( // DefaultAsyncUploadImage is the default container image for async-upload jobs. - DefaultAsyncUploadImage = "ghcr.io/kubeflow/model-registry/job/async-upload:latest" + DefaultAsyncUploadImage = "ghcr.io/kubeflow/hub/job/async-upload:latest" asyncUploadConfigMapName = "model-registry-ui-config" asyncUploadConfigMapKey = "images-jobs-async-upload" ) From a6f9d42eed1e341797cd1fd4efd24be6e83be086 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:38 +0530 Subject: [PATCH 13/22] Update @odh-dashboard/model-registry: chore: rename go modules (#2635) (resolved conflicts) Upstream commit: 21e661b1a78d475b7d3614ea015c8ff763d5216d --- packages/model-registry/package.json | 2 +- packages/model-registry/upstream/bff/cmd/main.go | 4 ++-- packages/model-registry/upstream/bff/go.mod | 2 +- .../upstream/bff/internal/api/app.go | 12 ++++++------ .../upstream/bff/internal/api/app_test.go | 4 ++-- .../upstream/bff/internal/api/artifacts_handler.go | 4 ++-- .../bff/internal/api/artifacts_handler_test.go | 5 +++-- .../bff/internal/api/catalog_filters_handler.go | 6 +++--- .../internal/api/catalog_filters_handler_test.go | 4 ++-- .../bff/internal/api/catalog_models_handler.go | 6 +++--- .../internal/api/catalog_models_handler_test.go | 4 ++-- .../internal/api/catalog_source_preview_handler.go | 6 +++--- .../api/catalog_source_preview_handler_test.go | 6 +++--- .../bff/internal/api/catalog_sources_handler.go | 6 +++--- .../internal/api/catalog_sources_handler_test.go | 4 ++-- .../api/check_namespace_registry_access_handler.go | 4 ++-- ...check_namespace_registry_access_handler_test.go | 8 ++++---- .../upstream/bff/internal/api/errors.go | 2 +- .../bff/internal/api/healthcheck__handler_test.go | 8 ++++---- .../internal/api/mcp_servers_catalog_handler.go | 6 +++--- .../api/mcp_servers_catalog_handler_test.go | 4 ++-- .../upstream/bff/internal/api/middleware.go | 14 +++++++------- .../bff/internal/api/model_artifacts_handler.go | 4 ++-- .../internal/api/model_artifacts_handler_test.go | 5 +++-- .../internal/api/model_catalog_settings_handler.go | 6 +++--- .../api/model_catalog_settings_handler_test.go | 4 ++-- .../bff/internal/api/model_registry_handler.go | 4 ++-- .../internal/api/model_registry_handler_test.go | 8 ++++---- .../api/model_registry_settings_groups_handler.go | 6 +++--- .../model_registry_settings_groups_handler_test.go | 8 ++++---- .../api/model_registry_settings_handler.go | 6 +++--- .../api/model_registry_settings_rbac_handler.go | 2 +- .../model_registry_settings_rbac_handler_test.go | 10 +++++----- .../bff/internal/api/model_transfer_job_handler.go | 6 +++--- .../api/model_transfer_job_handler_test.go | 4 ++-- .../bff/internal/api/model_versions_handler.go | 6 +++--- .../internal/api/model_versions_handler_test.go | 7 ++++--- .../bff/internal/api/namespaces_handler.go | 6 +++--- .../bff/internal/api/namespaces_handler_test.go | 12 ++++++------ .../upstream/bff/internal/api/public_helpers.go | 6 +++--- .../bff/internal/api/registered_models_handler.go | 6 +++--- .../internal/api/registered_models_handler_test.go | 7 ++++--- .../upstream/bff/internal/api/suite_test.go | 6 +++--- .../upstream/bff/internal/api/test_app.go | 6 +++--- .../upstream/bff/internal/api/test_utils.go | 12 ++++++------ .../upstream/bff/internal/api/user_handler.go | 9 +++++---- .../upstream/bff/internal/api/user_handler_test.go | 6 +++--- .../upstream/bff/internal/helpers/logging.go | 3 ++- .../bff/internal/integrations/httpclient/http.go | 2 +- .../internal/integrations/kubernetes/factory.go | 4 ++-- .../integrations/kubernetes/internal_k8s_client.go | 2 +- .../kubernetes/k8mocks/base_testenv.go | 2 +- .../kubernetes/k8mocks/internal_k8s_client_mock.go | 2 +- .../kubernetes/k8mocks/mock_factory.go | 13 +++++++------ .../kubernetes/k8mocks/token_k8s_client_mock.go | 2 +- .../integrations/kubernetes/shared_k8s_client.go | 2 +- .../kubernetes/shared_k8s_client_test.go | 2 +- .../integrations/kubernetes/tests/factory_test.go | 5 +++-- .../kubernetes/tests/internal_k8s_client_test.go | 6 +++--- .../tests/namespace_registry_access_test.go | 2 +- .../integrations/kubernetes/tests/suite_test.go | 14 +++++++------- .../kubernetes/tests/token_k8s_client_test.go | 7 ++++--- .../integrations/kubernetes/token_k8s_client.go | 2 +- .../internal/mocks/model_catalog_client_mock.go | 4 ++-- .../internal/mocks/model_registry_client_mock.go | 2 +- .../bff/internal/mocks/static_data_mock.go | 4 ++-- .../bff/internal/repositories/artifacts.go | 3 ++- .../bff/internal/repositories/catalog_models.go | 4 ++-- .../repositories/catalog_source_preview.go | 4 ++-- .../repositories/catalog_source_preview_test.go | 6 +++--- .../bff/internal/repositories/catalog_sources.go | 4 ++-- .../bff/internal/repositories/health_check.go | 2 +- .../upstream/bff/internal/repositories/helpers.go | 2 +- .../internal/repositories/mcp_server_catalog.go | 4 ++-- .../repositories/mcp_server_catalog_test.go | 4 ++-- .../bff/internal/repositories/model_artifacts.go | 3 ++- .../bff/internal/repositories/model_catalog.go | 4 ++-- .../repositories/model_catalog_settings.go | 6 +++--- .../repositories/model_catalog_settings_test.go | 6 +++--- .../bff/internal/repositories/model_registry.go | 8 ++++---- .../repositories/model_registry_settings.go | 4 ++-- .../repositories/model_registry_settings_test.go | 4 ++-- .../internal/repositories/model_registry_test.go | 8 ++++---- .../internal/repositories/model_transfer_jobs.go | 8 ++++---- .../repositories/model_transfer_jobs_test.go | 8 ++++---- .../bff/internal/repositories/model_version.go | 5 +++-- .../internal/repositories/model_version_test.go | 2 +- .../bff/internal/repositories/namespace.go | 5 +++-- .../bff/internal/repositories/registered_model.go | 5 +++-- .../internal/repositories/registered_model_test.go | 2 +- .../bff/internal/repositories/suite_test.go | 12 ++++++------ .../upstream/bff/internal/repositories/user.go | 5 +++-- .../upstream/bff/internal/validation/validation.go | 1 + 93 files changed, 254 insertions(+), 238 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index e6c36bbece..3157698168 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "243b2e06d73d685f24468a38aa3017e09c9de217" + "commit": "21e661b1a78d475b7d3614ea015c8ff763d5216d" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/bff/cmd/main.go b/packages/model-registry/upstream/bff/cmd/main.go index 49f0ab25b4..8a0822e6c7 100644 --- a/packages/model-registry/upstream/bff/cmd/main.go +++ b/packages/model-registry/upstream/bff/cmd/main.go @@ -8,8 +8,8 @@ import ( "os/signal" "syscall" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/config" // Import redhat handlers to register handler overrides via init() _ "github.com/kubeflow/model-registry/ui/bff/internal/redhat/handlers" diff --git a/packages/model-registry/upstream/bff/go.mod b/packages/model-registry/upstream/bff/go.mod index 0b558e5644..639e88c22c 100644 --- a/packages/model-registry/upstream/bff/go.mod +++ b/packages/model-registry/upstream/bff/go.mod @@ -1,4 +1,4 @@ -module github.com/kubeflow/model-registry/ui/bff +module github.com/kubeflow/hub/ui/bff go 1.25.0 diff --git a/packages/model-registry/upstream/bff/internal/api/app.go b/packages/model-registry/upstream/bff/internal/api/app.go index 01633fd37d..2d5389ec6c 100644 --- a/packages/model-registry/upstream/bff/internal/api/app.go +++ b/packages/model-registry/upstream/bff/internal/api/app.go @@ -10,18 +10,18 @@ import ( "path" "strings" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - k8mocks "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes/k8mocks" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + k8mocks "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes/k8mocks" "k8s.io/client-go/kubernetes" "sigs.k8s.io/controller-runtime/pkg/envtest" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/repositories" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/mocks" ) const ( diff --git a/packages/model-registry/upstream/bff/internal/api/app_test.go b/packages/model-registry/upstream/bff/internal/api/app_test.go index d592d31842..52543c6355 100644 --- a/packages/model-registry/upstream/bff/internal/api/app_test.go +++ b/packages/model-registry/upstream/bff/internal/api/app_test.go @@ -5,8 +5,8 @@ import ( "net/http" httptest "net/http/httptest" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/repositories" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/artifacts_handler.go b/packages/model-registry/upstream/bff/internal/api/artifacts_handler.go index ab17f95747..4ca66db9e3 100644 --- a/packages/model-registry/upstream/bff/internal/api/artifacts_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/artifacts_handler.go @@ -6,11 +6,11 @@ import ( "fmt" "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" "github.com/julienschmidt/httprouter" + "github.com/kubeflow/hub/ui/bff/internal/constants" "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" ) type ArtifactListEnvelope Envelope[*openapi.ArtifactList, None] diff --git a/packages/model-registry/upstream/bff/internal/api/artifacts_handler_test.go b/packages/model-registry/upstream/bff/internal/api/artifacts_handler_test.go index c20837cc9f..efc227fe28 100644 --- a/packages/model-registry/upstream/bff/internal/api/artifacts_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/artifacts_handler_test.go @@ -1,11 +1,12 @@ package api import ( - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" "net/http" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/brianvoe/gofakeit/v7" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler.go b/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler.go index be7fbf15d5..0875490faf 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler.go @@ -5,9 +5,9 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type CatalogFilterOptionsListEnvelope Envelope[*models.FilterOptionsList, None] diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler_test.go b/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler_test.go index 3722aed809..8995e10763 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_filters_handler_test.go @@ -3,8 +3,8 @@ package api import ( "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_models_handler.go b/packages/model-registry/upstream/bff/internal/api/catalog_models_handler.go index a4ea49703e..227f123684 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_models_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_models_handler.go @@ -5,9 +5,9 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type CatalogModelListEnvelope Envelope[*models.CatalogModelList, None] diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_models_handler_test.go b/packages/model-registry/upstream/bff/internal/api/catalog_models_handler_test.go index 301a42553e..1580357327 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_models_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_models_handler_test.go @@ -3,8 +3,8 @@ package api import ( "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler.go b/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler.go index 88498b86ef..da0724149f 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler.go @@ -7,9 +7,9 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type CatalogSourcePreviewEnvelope Envelope[*models.CatalogSourcePreviewResult, None] diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler_test.go b/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler_test.go index 09769cae24..9ed08fee37 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_source_preview_handler_test.go @@ -5,9 +5,9 @@ import ( "encoding/json" "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler.go b/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler.go index 564da37da3..6da3ce5746 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler.go @@ -7,9 +7,9 @@ import ( "strings" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type CatalogSourceListEnvelope Envelope[*models.CatalogSourceList, None] diff --git a/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler_test.go b/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler_test.go index 7448dbdb13..576d945dcd 100644 --- a/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/catalog_sources_handler_test.go @@ -3,8 +3,8 @@ package api import ( "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler.go b/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler.go index b6e4874ebf..8f71a38ee5 100644 --- a/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler.go @@ -6,8 +6,8 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" ) const CheckNamespaceRegistryAccessPath = ApiPathPrefix + "/check-namespace-registry-access" diff --git a/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler_test.go b/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler_test.go index 51773e2d85..d322c09e6b 100644 --- a/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/check_namespace_registry_access_handler_test.go @@ -8,10 +8,10 @@ import ( "net/http" "net/http/httptest" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/repositories" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/errors.go b/packages/model-registry/upstream/bff/internal/api/errors.go index 522169eb13..070fc2da9f 100644 --- a/packages/model-registry/upstream/bff/internal/api/errors.go +++ b/packages/model-registry/upstream/bff/internal/api/errors.go @@ -6,7 +6,7 @@ import ( "net/http" "strconv" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" ) type HTTPError struct { diff --git a/packages/model-registry/upstream/bff/internal/api/healthcheck__handler_test.go b/packages/model-registry/upstream/bff/internal/api/healthcheck__handler_test.go index de2ecc30c0..f17d96843c 100644 --- a/packages/model-registry/upstream/bff/internal/api/healthcheck__handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/healthcheck__handler_test.go @@ -7,10 +7,10 @@ import ( "net/http/httptest" "testing" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/repositories" "github.com/stretchr/testify/assert" ) diff --git a/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler.go b/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler.go index d8627daeaa..7ae8356412 100644 --- a/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler.go @@ -6,9 +6,9 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type McpServerListEnvelope Envelope[*models.McpServerList, None] diff --git a/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler_test.go b/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler_test.go index c18e529b6b..d23e87e1b8 100644 --- a/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/mcp_servers_catalog_handler_test.go @@ -3,8 +3,8 @@ package api import ( "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/middleware.go b/packages/model-registry/upstream/bff/internal/api/middleware.go index 01c868b2ad..a910796c68 100644 --- a/packages/model-registry/upstream/bff/internal/api/middleware.go +++ b/packages/model-registry/upstream/bff/internal/api/middleware.go @@ -8,16 +8,16 @@ import ( "runtime/debug" "strings" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/repositories" "github.com/google/uuid" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" + "github.com/kubeflow/hub/ui/bff/internal/constants" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" "github.com/rs/cors" ) diff --git a/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler.go b/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler.go index c8a1de571f..90cb704679 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler.go @@ -6,11 +6,11 @@ import ( "fmt" "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" "github.com/julienschmidt/httprouter" + "github.com/kubeflow/hub/ui/bff/internal/constants" "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" ) type ModelArtifactUpdateEnvelope Envelope[*openapi.ModelArtifactUpdate, None] diff --git a/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler_test.go b/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler_test.go index 055d464c9f..1fd11a2617 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/model_artifacts_handler_test.go @@ -1,11 +1,12 @@ package api import ( - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" "net/http" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/brianvoe/gofakeit/v7" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler.go b/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler.go index 515f9086ac..96640a2dfe 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler.go @@ -7,9 +7,9 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/repositories" ) type ModelCatalogSettingsSourceConfigEnvelope Envelope[*models.CatalogSourceConfig, None] diff --git a/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler_test.go b/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler_test.go index 364993c678..886bbce2b6 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/model_catalog_settings_handler_test.go @@ -3,8 +3,8 @@ package api import ( "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/model_registry_handler.go b/packages/model-registry/upstream/bff/internal/api/model_registry_handler.go index 22b228a4b1..053e6d22b7 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_registry_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_registry_handler.go @@ -5,8 +5,8 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type ModelRegistryListEnvelope Envelope[[]models.ModelRegistryModel, None] diff --git a/packages/model-registry/upstream/bff/internal/api/model_registry_handler_test.go b/packages/model-registry/upstream/bff/internal/api/model_registry_handler_test.go index f2d6b33d0e..1c558276a3 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_registry_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/model_registry_handler_test.go @@ -8,10 +8,10 @@ import ( "net/http" "net/http/httptest" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/repositories" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler.go b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler.go index 7352137fa4..56073733e2 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler.go @@ -5,9 +5,9 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type GroupsEnvelope Envelope[[]models.Group, None] diff --git a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler_test.go b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler_test.go index f1dcd01995..cc8e4d5cfa 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_groups_handler_test.go @@ -7,10 +7,10 @@ import ( "net/http" "net/http/httptest" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/repositories" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_handler.go b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_handler.go index dc8adcae25..95d35aa826 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_handler.go @@ -7,9 +7,9 @@ import ( "time" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type ModelRegistrySettingsListEnvelope Envelope[[]models.ModelRegistryKind, None] diff --git a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler.go b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler.go index e21180cf2b..653da4d28a 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler.go @@ -4,7 +4,7 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/models" rbacv1 "k8s.io/api/rbac/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" // Add other necessary imports like context, slog, helpers etc. diff --git a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler_test.go b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler_test.go index 7421be1146..59e3d8d93a 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/model_registry_settings_rbac_handler_test.go @@ -9,11 +9,11 @@ import ( "net/http/httptest" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/repositories" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" rbacv1 "k8s.io/api/rbac/v1" diff --git a/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler.go b/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler.go index 2e5a2cf7ff..1b3dcc861a 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler.go @@ -7,9 +7,9 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/repositories" ) type ModelTransferJobListEnvelope Envelope[*models.ModelTransferJobList, None] diff --git a/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler_test.go b/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler_test.go index bc4528123a..f70c88bdd4 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/model_transfer_job_handler_test.go @@ -3,8 +3,8 @@ package api import ( "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/model_versions_handler.go b/packages/model-registry/upstream/bff/internal/api/model_versions_handler.go index d9de9429d6..588cb4acae 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_versions_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/model_versions_handler.go @@ -7,10 +7,10 @@ import ( "net/http" "github.com/julienschmidt/httprouter" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/validation" "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/validation" ) type ModelVersionEnvelope Envelope[*openapi.ModelVersion, None] diff --git a/packages/model-registry/upstream/bff/internal/api/model_versions_handler_test.go b/packages/model-registry/upstream/bff/internal/api/model_versions_handler_test.go index ec54c92e0a..505233d863 100644 --- a/packages/model-registry/upstream/bff/internal/api/model_versions_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/model_versions_handler_test.go @@ -1,12 +1,13 @@ package api import ( + "net/http" + + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - "net/http" ) var _ = Describe("TestGetModelVersionHandler", func() { diff --git a/packages/model-registry/upstream/bff/internal/api/namespaces_handler.go b/packages/model-registry/upstream/bff/internal/api/namespaces_handler.go index 2dfe785538..1a6dfe7fe8 100644 --- a/packages/model-registry/upstream/bff/internal/api/namespaces_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/namespaces_handler.go @@ -6,9 +6,9 @@ import ( "strings" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" apierrors "k8s.io/apimachinery/pkg/api/errors" ) diff --git a/packages/model-registry/upstream/bff/internal/api/namespaces_handler_test.go b/packages/model-registry/upstream/bff/internal/api/namespaces_handler_test.go index b6b8a458f8..e774de46a3 100644 --- a/packages/model-registry/upstream/bff/internal/api/namespaces_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/namespaces_handler_test.go @@ -7,12 +7,12 @@ import ( "net/http" "net/http/httptest" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes/k8mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes/k8mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/repositories" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/api/public_helpers.go b/packages/model-registry/upstream/bff/internal/api/public_helpers.go index 742be14b2c..4b19b0e09d 100644 --- a/packages/model-registry/upstream/bff/internal/api/public_helpers.go +++ b/packages/model-registry/upstream/bff/internal/api/public_helpers.go @@ -7,9 +7,9 @@ import ( "log/slog" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/repositories" ) // BadRequest exposes the internal bad request helper for extensions. diff --git a/packages/model-registry/upstream/bff/internal/api/registered_models_handler.go b/packages/model-registry/upstream/bff/internal/api/registered_models_handler.go index 2b147cbff5..012128b5e3 100644 --- a/packages/model-registry/upstream/bff/internal/api/registered_models_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/registered_models_handler.go @@ -7,10 +7,10 @@ import ( "net/http" "github.com/julienschmidt/httprouter" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/validation" "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/validation" ) type RegisteredModelEnvelope Envelope[*openapi.RegisteredModel, None] diff --git a/packages/model-registry/upstream/bff/internal/api/registered_models_handler_test.go b/packages/model-registry/upstream/bff/internal/api/registered_models_handler_test.go index 5664b4d634..777eb3036f 100644 --- a/packages/model-registry/upstream/bff/internal/api/registered_models_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/registered_models_handler_test.go @@ -1,12 +1,13 @@ package api import ( + "net/http" + + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - "net/http" ) var _ = Describe("TestGetRegisteredModelHandler", func() { diff --git a/packages/model-registry/upstream/bff/internal/api/suite_test.go b/packages/model-registry/upstream/bff/internal/api/suite_test.go index 8eb06bab78..6e23e84f64 100644 --- a/packages/model-registry/upstream/bff/internal/api/suite_test.go +++ b/packages/model-registry/upstream/bff/internal/api/suite_test.go @@ -6,13 +6,13 @@ import ( "os" "testing" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes/k8mocks" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes/k8mocks" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/envtest" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/mocks" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" diff --git a/packages/model-registry/upstream/bff/internal/api/test_app.go b/packages/model-registry/upstream/bff/internal/api/test_app.go index 776c0f3650..386fd0b478 100644 --- a/packages/model-registry/upstream/bff/internal/api/test_app.go +++ b/packages/model-registry/upstream/bff/internal/api/test_app.go @@ -4,9 +4,9 @@ import ( "io" "log/slog" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/config" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/repositories" ) // NewTestApp exposes a minimal constructor that allows tests and downstream diff --git a/packages/model-registry/upstream/bff/internal/api/test_utils.go b/packages/model-registry/upstream/bff/internal/api/test_utils.go index 72a1b0c2d3..7d9bc60197 100644 --- a/packages/model-registry/upstream/bff/internal/api/test_utils.go +++ b/packages/model-registry/upstream/bff/internal/api/test_utils.go @@ -11,13 +11,13 @@ import ( "os" "path/filepath" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/config" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/repositories" ) func setupApiTest[T any](method string, url string, body interface{}, k8Factory kubernetes.KubernetesClientFactory, requestIdentity kubernetes.RequestIdentity, namespace string) (T, *http.Response, error) { diff --git a/packages/model-registry/upstream/bff/internal/api/user_handler.go b/packages/model-registry/upstream/bff/internal/api/user_handler.go index 9890843295..17fb742751 100644 --- a/packages/model-registry/upstream/bff/internal/api/user_handler.go +++ b/packages/model-registry/upstream/bff/internal/api/user_handler.go @@ -2,11 +2,12 @@ package api import ( "fmt" - "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" "net/http" + + "github.com/julienschmidt/httprouter" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type UserEnvelope Envelope[*models.User, None] diff --git a/packages/model-registry/upstream/bff/internal/api/user_handler_test.go b/packages/model-registry/upstream/bff/internal/api/user_handler_test.go index 812e9de69c..d0b8e94c57 100644 --- a/packages/model-registry/upstream/bff/internal/api/user_handler_test.go +++ b/packages/model-registry/upstream/bff/internal/api/user_handler_test.go @@ -7,10 +7,10 @@ import ( "net/http" "net/http/httptest" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/repositories" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/helpers/logging.go b/packages/model-registry/upstream/bff/internal/helpers/logging.go index 40b60f67fa..11ba74016f 100644 --- a/packages/model-registry/upstream/bff/internal/helpers/logging.go +++ b/packages/model-registry/upstream/bff/internal/helpers/logging.go @@ -4,11 +4,12 @@ import ( "bytes" "context" "fmt" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" "io" "log/slog" "net/http" "slices" + + "github.com/kubeflow/hub/ui/bff/internal/constants" ) func GetContextLoggerFromReq(r *http.Request) *slog.Logger { diff --git a/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go b/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go index 3e6e0b1128..beec6a36f8 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go +++ b/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go @@ -11,7 +11,7 @@ import ( "strconv" "github.com/google/uuid" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" ) type HTTPClientInterface interface { diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/factory.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/factory.go index d3d4e0d3a1..6767a73966 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/factory.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/factory.go @@ -8,8 +8,8 @@ import ( "net/http" "strings" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" ) // ─── STATIC FACTORY (INTERNAL) ────────────────────────────────────────── diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/internal_k8s_client.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/internal_k8s_client.go index 4b946c0961..0507e9e251 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/internal_k8s_client.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/internal_k8s_client.go @@ -6,7 +6,7 @@ import ( "log/slog" "time" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" authv1 "k8s.io/api/authorization/v1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go index 7880fb8771..86aa3bd6f0 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/base_testenv.go @@ -12,7 +12,7 @@ import ( "strings" "time" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/internal_k8s_client_mock.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/internal_k8s_client_mock.go index c77ed2d61e..61ac82067e 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/internal_k8s_client_mock.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/internal_k8s_client_mock.go @@ -5,7 +5,7 @@ import ( "fmt" "log/slog" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" corev1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" ) diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/mock_factory.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/mock_factory.go index 0e3bd42d2c..1dadfb165d 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/mock_factory.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/mock_factory.go @@ -3,15 +3,16 @@ package k8mocks import ( "context" "fmt" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/rest" "log/slog" "net/http" - "sigs.k8s.io/controller-runtime/pkg/envtest" "sync" + + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/envtest" ) type MockedKubernetesClientFactory interface { diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/token_k8s_client_mock.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/token_k8s_client_mock.go index c7efc05614..fbe59caa97 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/token_k8s_client_mock.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/k8mocks/token_k8s_client_mock.go @@ -5,7 +5,7 @@ import ( "fmt" "log/slog" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" corev1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" ) diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client.go index 851870eb8f..9b275b4cee 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client.go @@ -8,7 +8,7 @@ import ( "strings" "time" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/constants" batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client_test.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client_test.go index ce7fe474ef..d0e6965294 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client_test.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/shared_k8s_client_test.go @@ -5,7 +5,7 @@ import ( "log/slog" "testing" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/constants" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/fake" diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/factory_test.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/factory_test.go index 7be647bd94..5742c512c2 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/factory_test.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/factory_test.go @@ -1,10 +1,11 @@ package tests import ( - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" "net/http" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/internal_k8s_client_test.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/internal_k8s_client_test.go index 27138dc437..6bfd0e12ec 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/internal_k8s_client_test.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/internal_k8s_client_test.go @@ -1,9 +1,9 @@ package tests import ( - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - mocks2 "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes/k8mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + mocks2 "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes/k8mocks" + "github.com/kubeflow/hub/ui/bff/internal/mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/namespace_registry_access_test.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/namespace_registry_access_test.go index 5dcccdb5d4..851f5787d4 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/namespace_registry_access_test.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/namespace_registry_access_test.go @@ -3,7 +3,7 @@ package tests import ( "context" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/suite_test.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/suite_test.go index 1470a005c5..1359d940c4 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/suite_test.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/suite_test.go @@ -2,20 +2,20 @@ package tests import ( "context" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes/k8mocks" - "k8s.io/client-go/kubernetes" - "k8s.io/client-go/rest" "log/slog" "os" + "testing" + + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes/k8mocks" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/envtest" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" - "testing" -) -import ( . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/token_k8s_client_test.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/token_k8s_client_test.go index 7c05ac45ae..ccd4049709 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/token_k8s_client_test.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/tests/token_k8s_client_test.go @@ -2,9 +2,10 @@ package tests import ( "context" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - k8mocks "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes/k8mocks" + + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + k8mocks "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes/k8mocks" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/token_k8s_client.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/token_k8s_client.go index 19590362a6..eb87a974f6 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/token_k8s_client.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/token_k8s_client.go @@ -7,7 +7,7 @@ import ( "strings" "time" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" authnv1 "k8s.io/api/authentication/v1" authv1 "k8s.io/api/authorization/v1" corev1 "k8s.io/api/core/v1" diff --git a/packages/model-registry/upstream/bff/internal/mocks/model_catalog_client_mock.go b/packages/model-registry/upstream/bff/internal/mocks/model_catalog_client_mock.go index a0d6fcca36..e281be93be 100644 --- a/packages/model-registry/upstream/bff/internal/mocks/model_catalog_client_mock.go +++ b/packages/model-registry/upstream/bff/internal/mocks/model_catalog_client_mock.go @@ -8,9 +8,9 @@ import ( "strconv" "strings" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/models" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" "github.com/stretchr/testify/mock" ) diff --git a/packages/model-registry/upstream/bff/internal/mocks/model_registry_client_mock.go b/packages/model-registry/upstream/bff/internal/mocks/model_registry_client_mock.go index 2e90ec6d8a..202b587d5f 100644 --- a/packages/model-registry/upstream/bff/internal/mocks/model_registry_client_mock.go +++ b/packages/model-registry/upstream/bff/internal/mocks/model_registry_client_mock.go @@ -4,7 +4,7 @@ import ( "log/slog" "net/url" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" "github.com/kubeflow/model-registry/pkg/openapi" "github.com/stretchr/testify/mock" diff --git a/packages/model-registry/upstream/bff/internal/mocks/static_data_mock.go b/packages/model-registry/upstream/bff/internal/mocks/static_data_mock.go index f4628a75be..9f5cbf3f7f 100644 --- a/packages/model-registry/upstream/bff/internal/mocks/static_data_mock.go +++ b/packages/model-registry/upstream/bff/internal/mocks/static_data_mock.go @@ -9,9 +9,9 @@ import ( "github.com/brianvoe/gofakeit/v7" "github.com/google/uuid" + "github.com/kubeflow/hub/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/models" "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - "github.com/kubeflow/model-registry/ui/bff/internal/models" ) func GetRegisteredModelMocks() []openapi.RegisteredModel { diff --git a/packages/model-registry/upstream/bff/internal/repositories/artifacts.go b/packages/model-registry/upstream/bff/internal/repositories/artifacts.go index e0721e0028..70f08c9c51 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/artifacts.go +++ b/packages/model-registry/upstream/bff/internal/repositories/artifacts.go @@ -4,9 +4,10 @@ import ( "bytes" "encoding/json" "fmt" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" "net/url" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/model-registry/pkg/openapi" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/catalog_models.go b/packages/model-registry/upstream/bff/internal/repositories/catalog_models.go index 0bdde3e6aa..3459cbe871 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/catalog_models.go +++ b/packages/model-registry/upstream/bff/internal/repositories/catalog_models.go @@ -5,8 +5,8 @@ import ( "fmt" "net/url" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) const catalogModelsPath = "/models" diff --git a/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview.go b/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview.go index 41a22dbd61..fa360e69db 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview.go +++ b/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview.go @@ -7,8 +7,8 @@ import ( "mime/multipart" "net/url" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type CatalogSourcePreviewInterface interface { diff --git a/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview_test.go b/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview_test.go index 94c746bfb4..60c07b9ab3 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/catalog_source_preview_test.go @@ -5,9 +5,9 @@ import ( "net/url" "testing" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/catalog_sources.go b/packages/model-registry/upstream/bff/internal/repositories/catalog_sources.go index baefdfc729..4f435af2ae 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/catalog_sources.go +++ b/packages/model-registry/upstream/bff/internal/repositories/catalog_sources.go @@ -5,8 +5,8 @@ import ( "fmt" "net/url" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) const sourcesPath = "/sources" diff --git a/packages/model-registry/upstream/bff/internal/repositories/health_check.go b/packages/model-registry/upstream/bff/internal/repositories/health_check.go index a012b5116c..a546ab8ffe 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/health_check.go +++ b/packages/model-registry/upstream/bff/internal/repositories/health_check.go @@ -1,6 +1,6 @@ package repositories -import "github.com/kubeflow/model-registry/ui/bff/internal/models" +import "github.com/kubeflow/hub/ui/bff/internal/models" type HealthCheckRepository struct{} diff --git a/packages/model-registry/upstream/bff/internal/repositories/helpers.go b/packages/model-registry/upstream/bff/internal/repositories/helpers.go index 2acd8556cb..948a576ece 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/helpers.go +++ b/packages/model-registry/upstream/bff/internal/repositories/helpers.go @@ -4,7 +4,7 @@ import ( "fmt" "net/url" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/models" "gopkg.in/yaml.v3" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog.go b/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog.go index a17a30bafe..a05e771da4 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog.go +++ b/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog.go @@ -5,8 +5,8 @@ import ( "fmt" "net/url" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) const mcpServerPath = "/mcp_servers" diff --git a/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog_test.go b/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog_test.go index b7c0d3a0a4..b738d163cd 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/mcp_server_catalog_test.go @@ -6,8 +6,8 @@ import ( "strings" "testing" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/mocks" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_artifacts.go b/packages/model-registry/upstream/bff/internal/repositories/model_artifacts.go index a4a0e7ee7b..84d6cf8fc0 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_artifacts.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_artifacts.go @@ -4,9 +4,10 @@ import ( "bytes" "encoding/json" "fmt" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" "net/url" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/model-registry/pkg/openapi" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_catalog.go b/packages/model-registry/upstream/bff/internal/repositories/model_catalog.go index b7359c5c7f..81e1c84ed5 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_catalog.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_catalog.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" ) const ( diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings.go b/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings.go index 4acae29147..8dc8612d3f 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings.go @@ -8,9 +8,9 @@ import ( "regexp" "strings" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings_test.go b/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings_test.go index c203227ff7..94198fb86e 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_catalog_settings_test.go @@ -4,9 +4,9 @@ import ( "context" "strings" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" apierrors "k8s.io/apimachinery/pkg/api/errors" diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_registry.go b/packages/model-registry/upstream/bff/internal/repositories/model_registry.go index ecaa76c9e7..0b76ebdaab 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_registry.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_registry.go @@ -4,10 +4,10 @@ import ( "context" "fmt" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type ModelRegistryRepository struct{} diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings.go b/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings.go index a55f009785..415ae5ccb4 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type ModelRegistrySettingsRepository struct { diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings_test.go b/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings_test.go index 7f1111337a..cb4f615488 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_registry_settings_test.go @@ -3,8 +3,8 @@ package repositories import ( "context" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_registry_test.go b/packages/model-registry/upstream/bff/internal/repositories/model_registry_test.go index 3cdc54948f..b683a54d5e 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_registry_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_registry_test.go @@ -3,10 +3,10 @@ package repositories import ( "context" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go b/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go index b6989f0667..e6232cd863 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs.go @@ -11,10 +11,10 @@ import ( "strings" "github.com/google/uuid" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs_test.go b/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs_test.go index 80d4277b2d..59248e4e83 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_transfer_jobs_test.go @@ -5,10 +5,10 @@ import ( "testing" "time" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/constants" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/models" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" batchv1 "k8s.io/api/batch/v1" diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_version.go b/packages/model-registry/upstream/bff/internal/repositories/model_version.go index a764257392..246259e9bd 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_version.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_version.go @@ -4,9 +4,10 @@ import ( "bytes" "encoding/json" "fmt" - "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" "net/url" + + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/model-registry/pkg/openapi" ) const modelVersionPath = "/model_versions" diff --git a/packages/model-registry/upstream/bff/internal/repositories/model_version_test.go b/packages/model-registry/upstream/bff/internal/repositories/model_version_test.go index 40d0522ff1..caebfb6aae 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/model_version_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/model_version_test.go @@ -8,7 +8,7 @@ import ( "testing" "github.com/brianvoe/gofakeit/v7" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/mocks" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/namespace.go b/packages/model-registry/upstream/bff/internal/repositories/namespace.go index 242b37eef2..7bc373ddca 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/namespace.go +++ b/packages/model-registry/upstream/bff/internal/repositories/namespace.go @@ -3,8 +3,9 @@ package repositories import ( "context" "fmt" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type NamespaceRepository struct{} diff --git a/packages/model-registry/upstream/bff/internal/repositories/registered_model.go b/packages/model-registry/upstream/bff/internal/repositories/registered_model.go index d8629c92bd..fd71064674 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/registered_model.go +++ b/packages/model-registry/upstream/bff/internal/repositories/registered_model.go @@ -4,9 +4,10 @@ import ( "bytes" "encoding/json" "fmt" - "github.com/kubeflow/model-registry/pkg/openapi" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" "net/url" + + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/model-registry/pkg/openapi" ) const registeredModelPath = "/registered_models" diff --git a/packages/model-registry/upstream/bff/internal/repositories/registered_model_test.go b/packages/model-registry/upstream/bff/internal/repositories/registered_model_test.go index 78aa0d3e1b..8c7a8843da 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/registered_model_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/registered_model_test.go @@ -8,7 +8,7 @@ import ( "testing" "github.com/brianvoe/gofakeit/v7" - "github.com/kubeflow/model-registry/ui/bff/internal/mocks" + "github.com/kubeflow/hub/ui/bff/internal/mocks" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/suite_test.go b/packages/model-registry/upstream/bff/internal/repositories/suite_test.go index 79c75dbc78..7c392400e5 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/suite_test.go +++ b/packages/model-registry/upstream/bff/internal/repositories/suite_test.go @@ -2,19 +2,19 @@ package repositories import ( "context" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - k8mocks "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes/k8mocks" - "k8s.io/client-go/kubernetes" "log/slog" "os" + "testing" + + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + k8mocks "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes/k8mocks" + "k8s.io/client-go/kubernetes" "sigs.k8s.io/controller-runtime/pkg/envtest" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" - "testing" -) -import ( . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" ) diff --git a/packages/model-registry/upstream/bff/internal/repositories/user.go b/packages/model-registry/upstream/bff/internal/repositories/user.go index 4aaeb0d1c7..31fae16f46 100644 --- a/packages/model-registry/upstream/bff/internal/repositories/user.go +++ b/packages/model-registry/upstream/bff/internal/repositories/user.go @@ -2,8 +2,9 @@ package repositories import ( "fmt" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type UserRepository struct{} diff --git a/packages/model-registry/upstream/bff/internal/validation/validation.go b/packages/model-registry/upstream/bff/internal/validation/validation.go index 2c988bfc57..6cc74cd73b 100644 --- a/packages/model-registry/upstream/bff/internal/validation/validation.go +++ b/packages/model-registry/upstream/bff/internal/validation/validation.go @@ -2,6 +2,7 @@ package validation import ( "errors" + "github.com/kubeflow/model-registry/pkg/openapi" ) From 9415e9f15fe8edb119fff7b3414058653f4e7250 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:45 +0530 Subject: [PATCH 14/22] Update @odh-dashboard/model-registry tracking to bfec5187afa2c7dd7e2ec7b33d2082666ced6ca1 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 3157698168..0046b8115d 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "21e661b1a78d475b7d3614ea015c8ff763d5216d" + "commit": "bfec5187afa2c7dd7e2ec7b33d2082666ced6ca1" }, "module-federation": { "name": "modelRegistry", From c86810fad98edcd963afd0e9dfd14f044923e322 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:45 +0530 Subject: [PATCH 15/22] Update @odh-dashboard/model-registry tracking to dbc071847614c3d37f720bc530ba6d1902bfd149 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 0046b8115d..8d3ddb382f 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "bfec5187afa2c7dd7e2ec7b33d2082666ced6ca1" + "commit": "dbc071847614c3d37f720bc530ba6d1902bfd149" }, "module-federation": { "name": "modelRegistry", From e5e631bca571d0d837c4b318ccc32400d9539d4c Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:45 +0530 Subject: [PATCH 16/22] Update @odh-dashboard/model-registry tracking to 038dd049f0e41ef41a1020778da75f383a0c1311 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 8d3ddb382f..123ace734a 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "dbc071847614c3d37f720bc530ba6d1902bfd149" + "commit": "038dd049f0e41ef41a1020778da75f383a0c1311" }, "module-federation": { "name": "modelRegistry", From 593cc123f7d009fc09e185e2b0da90586e242221 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:45 +0530 Subject: [PATCH 17/22] Update @odh-dashboard/model-registry tracking to 4409e1350327ef1699b20a5f456b7602abcb39ac (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 123ace734a..43c270e502 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "038dd049f0e41ef41a1020778da75f383a0c1311" + "commit": "4409e1350327ef1699b20a5f456b7602abcb39ac" }, "module-federation": { "name": "modelRegistry", From 4876f80b9d6f473fbab244d0e6aade299706d62f Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:45 +0530 Subject: [PATCH 18/22] Update @odh-dashboard/model-registry: Update project name and repo links (#2640) Upstream commit: 37f93891df2636c0da76db9b265b95c950938851 --- packages/model-registry/package.json | 2 +- .../model-registry/upstream/CONTRIBUTING.md | 10 ++--- packages/model-registry/upstream/README.md | 18 ++++---- .../model-registry/upstream/bff/README.md | 8 ++-- .../upstream/bff/docs/extensions.md | 42 +++++++++---------- .../internal/integrations/httpclient/http.go | 6 +-- .../model-registry/upstream/docs/README.md | 4 +- .../docs/kubeflow-development-guide.md | 8 ++-- .../docs/local-deployment-guide-ui.md | 10 ++--- .../upstream/docs/local-deployment-guide.md | 10 ++--- .../upstream/frontend/README.md | 12 +++--- .../upstream/frontend/docs/README.md | 4 +- .../upstream/frontend/docs/architecture.md | 4 +- .../upstream/frontend/docs/dev-setup.md | 2 +- .../upstream/frontend/docs/env-variables.md | 2 +- .../upstream/frontend/docs/testing.md | 2 +- .../upstream/frontend/package.json | 6 +-- .../upstream/scripts/deploy_kind_cluster.sh | 2 +- 18 files changed, 76 insertions(+), 76 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 43c270e502..f6a7534e74 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "4409e1350327ef1699b20a5f456b7602abcb39ac" + "commit": "37f93891df2636c0da76db9b265b95c950938851" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/CONTRIBUTING.md b/packages/model-registry/upstream/CONTRIBUTING.md index 5059bf75fe..b31803b41a 100644 --- a/packages/model-registry/upstream/CONTRIBUTING.md +++ b/packages/model-registry/upstream/CONTRIBUTING.md @@ -2,8 +2,8 @@ [BFF requirements]: ./bff/README.md#pre-requisites [frontend dev setup]: ./frontend/docs/dev-setup.md#development [BFF dev setup]: ./bff/README.md#development -[issue]: https://github.com/kubeflow/model-registry/issues/new/choose -[contributing guidelines]: https://github.com/kubeflow/model-registry/blob/main/CONTRIBUTING.md +[issue]: https://github.com/kubeflow/hub/issues/new/choose +[contributing guidelines]: https://github.com/kubeflow/hub/blob/main/CONTRIBUTING.md # Contributing Individual bug fixes are welcome. Please open an [issue] to track the fix you are planning to implement. If you are unsure how best to solve it, start by opening the issue and note your desire to contribute. @@ -28,9 +28,9 @@ To run the mocked development environment you can either: ### Kubernetes Deployment -For an in-depth guide on how to deploy the Model Registry UI, please refer to the [local kubernetes deployment](./docs/local-deployment-guide.md) documentation. +For an in-depth guide on how to deploy the Kubeflow Hub UI, please refer to the [local kubernetes deployment](./docs/local-deployment-guide.md) documentation. -To quickly enable the Model Registry UI in your Kind cluster, you can use the following command: +To quickly enable the Kubeflow Hub UI in your Kind cluster, you can use the following command: ```shell make kind-deployment @@ -38,4 +38,4 @@ make kind-deployment ## Debugging and Testing -See [frontend testing guidelines](frontend/docs/testing.md) for testing the frontend. \ No newline at end of file +See [frontend testing guidelines](frontend/docs/testing.md) for testing the frontend. diff --git a/packages/model-registry/upstream/README.md b/packages/model-registry/upstream/README.md index 6ca0fde9ba..68d21788aa 100644 --- a/packages/model-registry/upstream/README.md +++ b/packages/model-registry/upstream/README.md @@ -1,26 +1,26 @@ [frontend requirements]: ./frontend/docs/dev-setup.md#requirements [BFF requirements]: ./bff/README.md#pre-requisites -[Model registry UI]: ./docs/README.md +[Kubeflow Hub UI]: ./docs/README.md [contributing guidelines]: ./CONTRIBUTING.md -# Model Registry UI +# Kubeflow Hub UI ## Overview -The Model Registry UI is a standalone web app for Kubeflow Model Registry. In this repository, you will find the frontend and backend for the Model Registry UI. +The Kubeflow Hub UI is a standalone web app for Kubeflow Kubeflow Hub. In this repository, you will find the frontend and backend for the Kubeflow Hub UI. ## Contributing -You can check the [contributing guidelines] for more information on how to contribute to the Model Registry UI. +You can check the [contributing guidelines] for more information on how to contribute to the Kubeflow Hub UI. ## OpenAPI Specification -You can find the OpenAPI specification for the Model Registry UI in the [openapi](./api/openapi) directory. -A live version of the OpenAPI specification can be found [here](https://editor.swagger.io/?url=https://raw.githubusercontent.com/kubeflow/model-registry/main/clients/ui/api/openapi/mod-arch.yaml). +You can find the OpenAPI specification for the Kubeflow Hub UI in the [openapi](./api/openapi) directory. +A live version of the OpenAPI specification can be found [here](https://editor.swagger.io/?url=https://raw.githubusercontent.com/kubeflow/hub/main/clients/ui/api/openapi/mod-arch.yaml). ## Targeted environments -There's two main environments that the Model Registry UI is targeted for: +There's two main environments that the Kubeflow Hub UI is targeted for: 1. **Standalone**: This is the default environment for local development. The UI is served by the BFF and the BFF is responsible for serving the API requests. The BFF exposes a `/namespace` endpoint that returns all the namespaces in the cluster and the UI sends a user header `kubeflow-user` to authenticate the calls. @@ -28,7 +28,7 @@ There's two main environments that the Model Registry UI is targeted for: ## Environment Variables -The following environment variables are used to configure the deployment and development environment for the Model Registry UI. These variables should be defined in a `.env.local` file in the `clients/ui` directory of the project. **This values will affect the build and push commands**. +The following environment variables are used to configure the deployment and development environment for the Kubeflow Hub UI. These variables should be defined in a `.env.local` file in the `clients/ui` directory of the project. **This values will affect the build and push commands**. ### `CONTAINER_TOOL` @@ -130,4 +130,4 @@ The standalone image includes K8s test binaries to support the `--mock-k8s-clien ## Deployments -For more information on how to deploy the Model Registry UI, please refer to the [Model registry UI] documentation. +For more information on how to deploy the Kubeflow Hub UI, please refer to the [Kubeflow Hub UI] documentation. diff --git a/packages/model-registry/upstream/bff/README.md b/packages/model-registry/upstream/bff/README.md index 3b10306738..c633fd4fec 100644 --- a/packages/model-registry/upstream/bff/README.md +++ b/packages/model-registry/upstream/bff/README.md @@ -1,6 +1,6 @@ -# Kubeflow Model Registry UI BFF +# Kubeflow Hub UI BFF -The Kubeflow Model Registry UI BFF is the _backend for frontend_ (BFF) used by the Kubeflow Model Registry UI. +The Kubeflow Hub UI BFF is the _backend for frontend_ (BFF) used by the Kubeflow Hub UI. ## Pre-requisites: @@ -14,7 +14,7 @@ To be operational, our BFF needs the Model Registry backend running. > **NOTE:** Docker compose must be installed in your environment. -There are two `docker-compose` files located at the [root](https://github.com/kubeflow/model-registry) of Model Registry repository that make the startup of both model registry easier by simply running: +There are two `docker-compose` files located at the [root](https://github.com/kubeflow/hub) of Model Registry repository that make the startup of both model registry easier by simply running: ```shell docker compose -f docker-compose[-local].yaml up @@ -567,7 +567,7 @@ labels: #... ``` -You can view the complete Model Registry service manifest [here](https://github.com/kubeflow/model-registry/blob/main/manifests/kustomize/base/model-registry-service.yaml#L10). +You can view the complete Model Registry service manifest [here](https://github.com/kubeflow/hub/blob/main/manifests/kustomize/base/model-registry-service.yaml#L10). #### 2. What is the structure of the mock Kubernetes environment? diff --git a/packages/model-registry/upstream/bff/docs/extensions.md b/packages/model-registry/upstream/bff/docs/extensions.md index 7366907f8c..ae110a16bc 100644 --- a/packages/model-registry/upstream/bff/docs/extensions.md +++ b/packages/model-registry/upstream/bff/docs/extensions.md @@ -67,7 +67,7 @@ import ( // ... other imports ... // Import downstream handlers to register overrides via init() - _ "github.com/kubeflow/model-registry/ui/bff/internal/redhat/handlers" + _ "github.com/kubeflow/hub/ui/bff/internal/redhat/handlers" ) ``` @@ -98,8 +98,8 @@ import ( "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/constants" ) // Mirror the upstream handler ID string @@ -180,8 +180,8 @@ import ( "net/http" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/constants" ) const kubernetesServicesListHandlerID = api.HandlerID("kubernetes:services:list") @@ -252,14 +252,14 @@ func myHandler(app *api.App) httprouter.Handle { // Use the client to interact with Kubernetes // The client interface is defined in internal/integrations/kubernetes namespace := r.Context().Value(constants.NamespaceHeaderParameterKey).(string) - + // Example: Get service details services, err := client.GetServiceDetails(r.Context(), namespace) if err != nil { app.ServerError(w, r, err) return } - + // Process services... }) } @@ -276,23 +276,23 @@ When building downstream handlers, you'll commonly import these packages: ```go import ( // Core API types and App - "github.com/kubeflow/model-registry/ui/bff/internal/api" - + "github.com/kubeflow/hub/ui/bff/internal/api" + // Configuration types - "github.com/kubeflow/model-registry/ui/bff/internal/config" - + "github.com/kubeflow/hub/ui/bff/internal/config" + // Context keys for namespace, identity, etc. - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - + "github.com/kubeflow/hub/ui/bff/internal/constants" + // Kubernetes client interface - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + // Data models - "github.com/kubeflow/model-registry/ui/bff/internal/models" - + "github.com/kubeflow/hub/ui/bff/internal/models" + // Upstream repositories (if needed) - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" - + "github.com/kubeflow/hub/ui/bff/internal/repositories" + // Router "github.com/julienschmidt/httprouter" ) @@ -322,7 +322,7 @@ func TestMyHandler_MockMode(t *testing.T) { cfg := config.EnvConfig{ MockK8Client: true, } - + // Your handler factory should return buildDefault() or mock behavior // when app.Config().MockK8Client is true } @@ -344,7 +344,7 @@ func myOverrideFactory(app *api.App, buildDefault func() httprouter.Handle) http if !shouldUseDownstreamOverrides(app) { return buildDefault() } - + // Real implementation return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { // ... diff --git a/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go b/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go index beec6a36f8..30c6d7b6cf 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go +++ b/packages/model-registry/upstream/bff/internal/integrations/httpclient/http.go @@ -102,7 +102,7 @@ func (c *HTTPClient) GET(url string) ([]byte, error) { } //Sometimes the code comes empty from model registry API //also not all error codes are correctly implemented - //see https://github.com/kubeflow/model-registry/issues/95 + //see https://github.com/kubeflow/hub/issues/95 if httpError.Code == "" { httpError.Code = strconv.Itoa(response.StatusCode) } @@ -163,7 +163,7 @@ func (c *HTTPClient) POSTWithContentType(url string, body io.Reader, contentType } //Sometimes the code comes empty from model registry API //also not all error codes are correctly implemented - //see https://github.com/kubeflow/model-registry/issues/95 + //see https://github.com/kubeflow/hub/issues/95 if httpError.Code == "" { httpError.Code = strconv.Itoa(response.StatusCode) } @@ -220,7 +220,7 @@ func (c *HTTPClient) PATCH(url string, body io.Reader) ([]byte, error) { } //Sometimes the code comes empty from model registry API //also not all error codes are correctly implemented - //see https://github.com/kubeflow/model-registry/issues/95 + //see https://github.com/kubeflow/hub/issues/95 if httpError.Code == "" { httpError.Code = strconv.Itoa(response.StatusCode) } diff --git a/packages/model-registry/upstream/docs/README.md b/packages/model-registry/upstream/docs/README.md index 885c3774cf..66e02c4b41 100644 --- a/packages/model-registry/upstream/docs/README.md +++ b/packages/model-registry/upstream/docs/README.md @@ -2,9 +2,9 @@ [Local deployment UI]: ./local-deployment-guide-ui.md [Kubeflow development]: ./kubeflow-development-guide.md -# Model Registry UI Docs +# Kubeflow Hub UI Docs -This directory contains documentation for the Model Registry UI. +This directory contains documentation for the Kubeflow Hub UI. ## Local Deployment Guide diff --git a/packages/model-registry/upstream/docs/kubeflow-development-guide.md b/packages/model-registry/upstream/docs/kubeflow-development-guide.md index f6b0f1805d..3eada2ad53 100644 --- a/packages/model-registry/upstream/docs/kubeflow-development-guide.md +++ b/packages/model-registry/upstream/docs/kubeflow-development-guide.md @@ -5,7 +5,7 @@ ## Prerequisites - [Kubeflow repo](https://github.com/kubeflow/kubeflow/tree/master/components/centraldashboard#development) -- [Model Registry repo](../README.md) +- [Hub repo](../README.md) ## Setup @@ -32,7 +32,7 @@ npm run dev ``` -### Model Registry repo +### Hub repo 1. Just run the repo in kubeflow dev mode @@ -42,7 +42,7 @@ make dev-start-kubeflow ### Access the cluster -You need to have a kubeflow cluster up and running, to get the Model Registry working you'll need to port-forward these two services: +You need to have a kubeflow cluster up and running, to get the Hub working you'll need to port-forward these two services: ```shell kubectl port-forward service/model-registry-service 8085:8080 -n @@ -52,6 +52,6 @@ kubectl port-forward service/model-registry-service 8085:8080 -n Date: Mon, 27 Apr 2026 17:50:46 +0530 Subject: [PATCH 19/22] Update @odh-dashboard/model-registry tracking to 5f890cd761f09f5800c525e6eb07ccdf86da2f77 (no file changes) --- packages/model-registry/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index f6a7534e74..9f6b7ba605 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "37f93891df2636c0da76db9b265b95c950938851" + "commit": "5f890cd761f09f5800c525e6eb07ccdf86da2f77" }, "module-federation": { "name": "modelRegistry", From 1110c042e7605d8a0b12af0a856fbd0feee1b3dc Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:46 +0530 Subject: [PATCH 20/22] Update @odh-dashboard/model-registry: fix(ui): forward incoming auth headers in webpack dev proxy (#2544) Upstream commit: 653ff5102b46a8c7f85f0d389aae3318fe696a94 --- packages/model-registry/package.json | 2 +- .../upstream/frontend/config/webpack.dev.js | 67 ++++++++++++------- 2 files changed, 45 insertions(+), 24 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 9f6b7ba605..94aea435e5 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "5f890cd761f09f5800c525e6eb07ccdf86da2f77" + "commit": "653ff5102b46a8c7f85f0d389aae3318fe696a94" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/frontend/config/webpack.dev.js b/packages/model-registry/upstream/frontend/config/webpack.dev.js index afb4c5b0e5..a812045871 100644 --- a/packages/model-registry/upstream/frontend/config/webpack.dev.js +++ b/packages/model-registry/upstream/frontend/config/webpack.dev.js @@ -26,38 +26,58 @@ const DEPLOYMENT_MODE = process.env._DEPLOYMENT_MODE; const AUTH_METHOD = process.env._AUTH_METHOD; const BASE_PATH = DEPLOYMENT_MODE === 'kubeflow' ? '/model-registry/' : PUBLIC_PATH; -// Function to generate headers based on deployment mode +// Get the kubeconfig token at startup as a fallback for standalone dev mode. +const getKubeconfigToken = () => { + try { + const token = execSync( + "kubectl config view --raw --minify --flatten -o jsonpath='{.users[].user.token}'", + ) + .toString() + .trim(); + const username = execSync("kubectl auth whoami -o jsonpath='{.status.userInfo.username}'") + .toString() + .trim(); + // eslint-disable-next-line no-console + console.info('Logged in as user:', username); + return token; + } catch (error) { + // eslint-disable-next-line no-console + console.error('Failed to get Kubernetes token:', error.message); + return ''; + } +}; + +const fallbackToken = AUTH_METHOD === 'user_token' ? getKubeconfigToken() : ''; + +// Build static proxy headers for auth methods that don't need dynamic forwarding. const getProxyHeaders = () => { if (AUTH_METHOD === 'internal') { return { 'kubeflow-userid': 'user@example.com', }; } - if (AUTH_METHOD === 'user_token') { - try { - const token = execSync( - "kubectl config view --raw --minify --flatten -o jsonpath='{.users[].user.token}'", - ) - .toString() - .trim(); - const username = execSync("kubectl auth whoami -o jsonpath='{.status.userInfo.username}'") - .toString() - .trim(); - // eslint-disable-next-line no-console - console.info('Logged in as user:', username); - return { - Authorization: `Bearer ${token}`, - 'x-forwarded-access-token': token, - }; - } catch (error) { - // eslint-disable-next-line no-console - console.error('Failed to get Kubernetes token:', error.message); - return {}; - } - } + // For user_token, auth headers are set dynamically in onProxyReq below. return {}; }; +// When using user_token auth, dynamically forward the authorization header from the +// incoming request if present (e.g. from a host backend proxy with dev impersonation). +// Fall back to the kubeconfig token captured at startup for standalone dev mode. +const onProxyReq = (proxyReq, req) => { + if (AUTH_METHOD !== 'user_token') { + return; + } + const incomingAuth = req.headers.authorization; + if (incomingAuth) { + proxyReq.setHeader('Authorization', incomingAuth); + const token = incomingAuth.replace(/^Bearer\s+/i, ''); + proxyReq.setHeader('x-forwarded-access-token', token); + } else if (fallbackToken) { + proxyReq.setHeader('Authorization', `Bearer ${fallbackToken}`); + proxyReq.setHeader('x-forwarded-access-token', fallbackToken); + } +}; + module.exports = smp.wrap( merge( { @@ -94,6 +114,7 @@ module.exports = smp.wrap( }, changeOrigin: true, headers: getProxyHeaders(), + onProxyReq, }, ], devMiddleware: { From dab7d60a205dbfbd21364fe0133209a4ca3ecb23 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 17:50:46 +0530 Subject: [PATCH 21/22] Update @odh-dashboard/model-registry: build(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /clients/ui/frontend (#2641) Upstream commit: 6eb25cfb3ce76cd0f87438ea7de60b414dd6e25a --- packages/model-registry/package.json | 2 +- .../model-registry/upstream/frontend/package-lock.json | 8 ++++---- packages/model-registry/upstream/frontend/package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index 94aea435e5..052e4db761 100644 --- a/packages/model-registry/package.json +++ b/packages/model-registry/package.json @@ -23,7 +23,7 @@ "branch": "main", "src": "clients/ui", "target": "upstream", - "commit": "653ff5102b46a8c7f85f0d389aae3318fe696a94" + "commit": "6eb25cfb3ce76cd0f87438ea7de60b414dd6e25a" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/frontend/package-lock.json b/packages/model-registry/upstream/frontend/package-lock.json index f595e3174a..15fdf3a5bb 100644 --- a/packages/model-registry/upstream/frontend/package-lock.json +++ b/packages/model-registry/upstream/frontend/package-lock.json @@ -71,7 +71,7 @@ "jest-environment-jsdom": "^29.7.0", "junit-report-merger": "^7.0.1", "mini-css-extract-plugin": "^2.9.0", - "postcss": "^8.4.49", + "postcss": "^8.5.10", "prettier": "^3.3.3", "prop-types": "^15.8.1", "raw-loader": "^4.0.2", @@ -21386,9 +21386,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", + "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", "dev": true, "funding": [ { diff --git a/packages/model-registry/upstream/frontend/package.json b/packages/model-registry/upstream/frontend/package.json index 24c6b7df3c..efc1b2de48 100644 --- a/packages/model-registry/upstream/frontend/package.json +++ b/packages/model-registry/upstream/frontend/package.json @@ -66,7 +66,7 @@ "jest-environment-jsdom": "^29.7.0", "junit-report-merger": "^7.0.1", "mini-css-extract-plugin": "^2.9.0", - "postcss": "^8.4.49", + "postcss": "^8.5.10", "prettier": "^3.3.3", "prop-types": "^15.8.1", "raw-loader": "^4.0.2", From 11adb5ad6e75c3b54916a99c411bde944b8becf3 Mon Sep 17 00:00:00 2001 From: ppadti Date: Mon, 27 Apr 2026 18:02:21 +0530 Subject: [PATCH 22/22] Fix downstream Go imports after module rename to kubeflow/hub --- packages/model-registry/upstream/bff/cmd/main.go | 2 +- .../bff/internal/helpers/mcpserver_converter.go | 2 +- .../bff/internal/helpers/mcpserver_converter_test.go | 2 +- .../internal/redhat/handlers/kubernetes_services.go | 4 ++-- .../internal/redhat/handlers/mcp_deployment_auth.go | 8 ++++---- .../bff/internal/redhat/handlers/mcp_deployments.go | 8 ++++---- .../internal/redhat/handlers/mcp_deployments_test.go | 10 +++++----- .../redhat/handlers/mcp_server_availability.go | 6 +++--- .../redhat/handlers/mcp_server_availability_test.go | 6 +++--- .../internal/redhat/handlers/mcp_server_converter.go | 10 +++++----- .../redhat/handlers/model_registry_settings.go | 10 +++++----- .../redhat/handlers/model_registry_settings_test.go | 8 ++++---- .../internal/redhat/handlers/model_transfer_jobs.go | 8 ++++---- .../redhat/handlers/model_transfer_jobs_test.go | 10 +++++----- .../redhat/repositories/mcp_deployment_repository.go | 4 ++-- .../repositories/mcp_deployment_repository_test.go | 2 +- .../repositories/mcp_server_availability_repository.go | 2 +- .../redhat/repositories/model_registry_conversion.go | 2 +- .../repositories/model_registry_settings_repository.go | 6 +++--- 19 files changed, 55 insertions(+), 55 deletions(-) diff --git a/packages/model-registry/upstream/bff/cmd/main.go b/packages/model-registry/upstream/bff/cmd/main.go index 8a0822e6c7..5933b0b642 100644 --- a/packages/model-registry/upstream/bff/cmd/main.go +++ b/packages/model-registry/upstream/bff/cmd/main.go @@ -12,7 +12,7 @@ import ( "github.com/kubeflow/hub/ui/bff/internal/config" // Import redhat handlers to register handler overrides via init() - _ "github.com/kubeflow/model-registry/ui/bff/internal/redhat/handlers" + _ "github.com/kubeflow/hub/ui/bff/internal/redhat/handlers" "log/slog" "net/http" diff --git a/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter.go b/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter.go index b8dbdbf662..b721ad31ac 100644 --- a/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter.go +++ b/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter.go @@ -4,7 +4,7 @@ import ( "fmt" "strings" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/models" corev1 "k8s.io/api/core/v1" ) diff --git a/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter_test.go b/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter_test.go index 13c9915bec..64e45c4cbd 100644 --- a/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter_test.go +++ b/packages/model-registry/upstream/bff/internal/helpers/mcpserver_converter_test.go @@ -3,7 +3,7 @@ package helper import ( "testing" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/models" "github.com/stretchr/testify/assert" ) diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/kubernetes_services.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/kubernetes_services.go index 31ba19c6cf..da139a5210 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/kubernetes_services.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/kubernetes_services.go @@ -6,8 +6,8 @@ import ( "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/constants" ) // KubernetesServicesListEnvelope is the response envelope for listing Kubernetes services. diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployment_auth.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployment_auth.go index bea76a0fb3..c1a4bb7514 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployment_auth.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployment_auth.go @@ -5,10 +5,10 @@ import ( "log/slog" "net/http" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" ) // requireMcpDeploymentAccess performs a permission check to verify that the diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments.go index a91fae5743..a761de4841 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments.go @@ -10,10 +10,10 @@ import ( "github.com/julienschmidt/httprouter" apierrors "k8s.io/apimachinery/pkg/api/errors" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - redhatrepos "github.com/kubeflow/model-registry/ui/bff/internal/redhat/repositories" + "github.com/kubeflow/hub/ui/bff/internal/api" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" + redhatrepos "github.com/kubeflow/hub/ui/bff/internal/redhat/repositories" ) type McpDeploymentListEnvelope api.Envelope[models.McpDeploymentList, api.None] diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments_test.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments_test.go index 2179ae0ff9..3d7a3ba579 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments_test.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_deployments_test.go @@ -14,11 +14,11 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime/schema" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - redhatrepos "github.com/kubeflow/model-registry/ui/bff/internal/redhat/repositories" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/config" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" + redhatrepos "github.com/kubeflow/hub/ui/bff/internal/redhat/repositories" ) type mockMcpDeploymentRepo struct { diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability.go index 0584eca813..36bf7fd310 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability.go @@ -6,9 +6,9 @@ import ( "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - redhatrepos "github.com/kubeflow/model-registry/ui/bff/internal/redhat/repositories" + "github.com/kubeflow/hub/ui/bff/internal/api" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + redhatrepos "github.com/kubeflow/hub/ui/bff/internal/redhat/repositories" ) type McpServerAvailabilityEnvelope api.Envelope[McpServerAvailabilityResponse, api.None] diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability_test.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability_test.go index dc9f9f2b4f..67e488b3df 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability_test.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_availability_test.go @@ -9,9 +9,9 @@ import ( "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/config" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" ) type mockMcpServerAvailabilityRepo struct { diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_converter.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_converter.go index cde16a204a..ea367b9086 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_converter.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/mcp_server_converter.go @@ -7,11 +7,11 @@ import ( "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" - "github.com/kubeflow/model-registry/ui/bff/internal/integrations/httpclient" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/constants" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" + "github.com/kubeflow/hub/ui/bff/internal/integrations/httpclient" + "github.com/kubeflow/hub/ui/bff/internal/models" ) type MCPServerEnvelope api.Envelope[*models.MCPServer, api.None] diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings.go index 6d7059ce55..d15f7929d9 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings.go @@ -9,11 +9,11 @@ import ( "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" - redhatrepos "github.com/kubeflow/model-registry/ui/bff/internal/redhat/repositories" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/constants" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" + redhatrepos "github.com/kubeflow/hub/ui/bff/internal/redhat/repositories" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings_test.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings_test.go index f1bba08138..4e58573da1 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings_test.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_registry_settings_test.go @@ -12,10 +12,10 @@ import ( "testing" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/config" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs.go index 39e63c60e2..48796d917c 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs.go @@ -10,10 +10,10 @@ import ( "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/constants" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" batchv1 "k8s.io/api/batch/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" diff --git a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs_test.go b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs_test.go index f536927714..ab3f07bed7 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs_test.go +++ b/packages/model-registry/upstream/bff/internal/redhat/handlers/model_transfer_jobs_test.go @@ -10,11 +10,11 @@ import ( "testing" "github.com/julienschmidt/httprouter" - "github.com/kubeflow/model-registry/ui/bff/internal/api" - "github.com/kubeflow/model-registry/ui/bff/internal/config" - "github.com/kubeflow/model-registry/ui/bff/internal/constants" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/repositories" + "github.com/kubeflow/hub/ui/bff/internal/api" + "github.com/kubeflow/hub/ui/bff/internal/config" + "github.com/kubeflow/hub/ui/bff/internal/constants" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/repositories" batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository.go b/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository.go index 8ab16ccfe2..2589a376bf 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository.go +++ b/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository.go @@ -10,8 +10,8 @@ import ( "strings" "github.com/google/uuid" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" "gopkg.in/yaml.v3" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository_test.go b/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository_test.go index 9ef99ac5b1..dbea368a34 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository_test.go +++ b/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_deployment_repository_test.go @@ -5,7 +5,7 @@ import ( "strings" "testing" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/models" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) diff --git a/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_server_availability_repository.go b/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_server_availability_repository.go index a96b81a24a..a97767981a 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_server_availability_repository.go +++ b/packages/model-registry/upstream/bff/internal/redhat/repositories/mcp_server_availability_repository.go @@ -5,7 +5,7 @@ import ( "fmt" "log/slog" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" "k8s.io/client-go/discovery" ) diff --git a/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_conversion.go b/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_conversion.go index ca888e83e4..32acc9599b 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_conversion.go +++ b/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_conversion.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + "github.com/kubeflow/hub/ui/bff/internal/models" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime" diff --git a/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_settings_repository.go b/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_settings_repository.go index 9f6ce9139d..aa696461fe 100644 --- a/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_settings_repository.go +++ b/packages/model-registry/upstream/bff/internal/redhat/repositories/model_registry_settings_repository.go @@ -8,9 +8,9 @@ import ( "fmt" "log/slog" - helper "github.com/kubeflow/model-registry/ui/bff/internal/helpers" - k8s "github.com/kubeflow/model-registry/ui/bff/internal/integrations/kubernetes" - "github.com/kubeflow/model-registry/ui/bff/internal/models" + helper "github.com/kubeflow/hub/ui/bff/internal/helpers" + k8s "github.com/kubeflow/hub/ui/bff/internal/integrations/kubernetes" + "github.com/kubeflow/hub/ui/bff/internal/models" corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"