diff --git a/packages/model-registry/package.json b/packages/model-registry/package.json index dd0fe0cd98..741db6c736 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": "d941024350a42ef5f0b047c4617ee98e85158e26" + "commit": "6e18d5aca6de378c66794ae581b9c42d0767aff7" }, "module-federation": { "name": "modelRegistry", diff --git a/packages/model-registry/upstream/bff/go.mod b/packages/model-registry/upstream/bff/go.mod index 9f5b6078ea..0b558e5644 100644 --- a/packages/model-registry/upstream/bff/go.mod +++ b/packages/model-registry/upstream/bff/go.mod @@ -12,8 +12,8 @@ require ( github.com/rs/cors v1.11.1 github.com/stretchr/testify v1.11.1 gopkg.in/yaml.v3 v3.0.1 - k8s.io/api v0.35.3 - k8s.io/apimachinery v0.35.3 + k8s.io/api v0.35.4 + k8s.io/apimachinery v0.35.4 k8s.io/client-go v0.35.3 sigs.k8s.io/controller-runtime v0.23.3 ) diff --git a/packages/model-registry/upstream/bff/go.sum b/packages/model-registry/upstream/bff/go.sum index d975af3c0a..d42d08844c 100644 --- a/packages/model-registry/upstream/bff/go.sum +++ b/packages/model-registry/upstream/bff/go.sum @@ -153,12 +153,12 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.35.3 h1:pA2fiBc6+N9PDf7SAiluKGEBuScsTzd2uYBkA5RzNWQ= -k8s.io/api v0.35.3/go.mod h1:9Y9tkBcFwKNq2sxwZTQh1Njh9qHl81D0As56tu42GA4= +k8s.io/api v0.35.4 h1:P7nFYKl5vo9AGUp1Z+Pmd3p2tA7bX2wbFWCvDeRv988= +k8s.io/api v0.35.4/go.mod h1:yl4lqySWOgYJJf9RERXKUwE9g2y+CkuwG+xmcOK8wXU= k8s.io/apiextensions-apiserver v0.35.0 h1:3xHk2rTOdWXXJM+RDQZJvdx0yEOgC0FgQ1PlJatA5T4= k8s.io/apiextensions-apiserver v0.35.0/go.mod h1:E1Ahk9SADaLQ4qtzYFkwUqusXTcaV2uw3l14aqpL2LU= -k8s.io/apimachinery v0.35.3 h1:MeaUwQCV3tjKP4bcwWGgZ/cp/vpsRnQzqO6J6tJyoF8= -k8s.io/apimachinery v0.35.3/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= +k8s.io/apimachinery v0.35.4 h1:xtdom9RG7e+yDp71uoXoJDWEE2eOiHgeO4GdBzwWpds= +k8s.io/apimachinery v0.35.4/go.mod h1:NNi1taPOpep0jOj+oRha3mBJPqvi0hGdaV8TCqGQ+cc= k8s.io/client-go v0.35.3 h1:s1lZbpN4uI6IxeTM2cpdtrwHcSOBML1ODNTCCfsP1pg= k8s.io/client-go v0.35.3/go.mod h1:RzoXkc0mzpWIDvBrRnD+VlfXP+lRzqQjCmKtiwZ8Q9c= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= diff --git a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/client.go b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/client.go index dffdc734e3..e6b777e1b2 100644 --- a/packages/model-registry/upstream/bff/internal/integrations/kubernetes/client.go +++ b/packages/model-registry/upstream/bff/internal/integrations/kubernetes/client.go @@ -12,7 +12,7 @@ const ComponentLabelValue = "model-registry" const ComponentLabelValueCatalog = "model-catalog" const CatalogSourceKey = "sources.yaml" -const CatalogSourceDefaultConfigMapName = "model-catalog-default-sources" +const CatalogSourceDefaultConfigMapName = "default-catalog-sources" const CatalogSourceUserConfigMapName = "model-catalog-sources" type KubernetesClientInterface interface { 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 4b6d817d73..8acf16ae44 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 @@ -347,7 +347,7 @@ catalogs: } if _, err := k8sClient.CoreV1().ConfigMaps(namespace).Create(ctx, cm, metav1.CreateOptions{}); err != nil { - return fmt.Errorf("failed to create model-catalog-default-sources configmap: %w", err) + return fmt.Errorf("failed to create default-catalog-sources configmap: %w", err) } return nil diff --git a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalogSettings.ts b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalogSettings.ts index 331e341e9c..434d299f04 100644 --- a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalogSettings.ts +++ b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/pages/modelCatalogSettings.ts @@ -97,7 +97,7 @@ class CatalogSourceConfigRow extends TableRow { return this; } - shouldHaveValidationStatus(status: 'Connected' | 'Failed' | 'Starting' | 'Unknown' | '-') { + shouldHaveValidationStatus(status: 'Ready' | 'Failed' | 'Starting' | 'Unknown' | '-') { this.findValidationStatus().contains(status); return this; } diff --git a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalogSettings/modelCatalogSettings.cy.ts b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalogSettings/modelCatalogSettings.cy.ts index 6daf05cce9..4097a8cb2d 100644 --- a/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalogSettings/modelCatalogSettings.cy.ts +++ b/packages/model-registry/upstream/frontend/src/__tests__/cypress/cypress/tests/mocked/modelCatalogSettings/modelCatalogSettings.cy.ts @@ -443,7 +443,7 @@ describe('Catalog Source Configs Table', () => { modelCatalogSettings.visit(); const row = modelCatalogSettings.getRow('HuggingFace Google'); row.findName().should('be.visible'); - row.shouldHaveValidationStatus('Connected'); + row.shouldHaveValidationStatus('Ready'); row.findValidationStatus().findByTestId('source-status-connected-hf-google').should('exist'); }); @@ -783,7 +783,7 @@ describe('Manage Source Page', () => { // Before entering organization, should show generic text cy.contains( - 'Optionally filter which models from your source appear in the model catalog', + 'Optionally filter which models from this source appear in the model catalog', ).should('exist'); // Fill organization name @@ -791,7 +791,7 @@ describe('Manage Source Page', () => { // After entering organization, should show organization-specific text cy.contains( - 'Optionally filter which Google models from your source appear in the model catalog', + 'Optionally filter which Google models from this source appear in the model catalog', ).should('exist'); cy.contains('all Google models from the source will be visible').should('exist'); @@ -800,7 +800,7 @@ describe('Manage Source Page', () => { // Text should update to new organization cy.contains( - 'Optionally filter which Meta models from your source appear in the model catalog', + 'Optionally filter which Meta models from this source appear in the model catalog', ).should('exist'); cy.contains('all Meta models from the source will be visible').should('exist'); }); 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 4ca261136b..03f82235f9 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 @@ -46,7 +46,7 @@ const McpCatalog: React.FC = () => { provideChildrenPadding > - + diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatus.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatus.tsx index 005c4257e2..afb1d181f6 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatus.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatus.tsx @@ -54,7 +54,7 @@ const CatalogSourceStatus: React.FC = ({ catalogSource case CatalogSourceStatusEnum.AVAILABLE: return ( ); diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatusErrorModal.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatusErrorModal.tsx index 9cd19f945c..6b85582aa6 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatusErrorModal.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CatalogSourceStatusErrorModal.tsx @@ -10,6 +10,7 @@ import { ModalVariant, } from '@patternfly/react-core'; import { ExclamationCircleIcon } from '@patternfly/react-icons'; +import { ERROR_MESSAGES } from '~/app/pages/modelCatalogSettings/constants'; type CatalogSourceStatusErrorModalProps = { isOpen: boolean; @@ -45,12 +46,11 @@ const CatalogSourceStatusErrorModal: React.FC

- The system cannot establish a connection to the source. Ensure that the organization is - accurate, then try again. + {ERROR_MESSAGES.VALIDATION_FAILED_BODY}

{errorMessage &&

{errorMessage}

} diff --git a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CredentialsSection.tsx b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CredentialsSection.tsx index 72f5a2e79b..3991e9e5f3 100644 --- a/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CredentialsSection.tsx +++ b/packages/model-registry/upstream/frontend/src/app/pages/modelCatalogSettings/components/CredentialsSection.tsx @@ -1,6 +1,5 @@ import * as React from 'react'; import { - FormGroup, TextInput, FormHelperText, HelperText, @@ -12,7 +11,6 @@ import { } from '@patternfly/react-core'; import { UpdateObjectAtPropAndValue } from 'mod-arch-shared'; import PasswordInput from '~/app/shared/components/PasswordInput'; -import FormFieldset from '~/app/pages/modelRegistry/screens/components/FormFieldset'; import FormSection from '~/app/pages/modelRegistry/components/pf-overrides/FormSection'; import ThemeAwareFormGroupWrapper from '~/app/pages/settings/components/ThemeAwareFormGroupWrapper'; import { ManageSourceFormData } from '~/app/pages/modelCatalogSettings/useManageSourceData'; @@ -20,8 +18,11 @@ import { validateOrganization } from '~/app/pages/modelCatalogSettings/utils/val import { FORM_LABELS, VALIDATION_MESSAGES, - HELP_TEXT, + DESCRIPTION_TEXT, + HELPER_TEXT, PLACEHOLDERS, + ERROR_MESSAGES, + SUCCESS_MESSAGES, } from '~/app/pages/modelCatalogSettings/constants'; import { TempDevFeature, useTempDevFeatureAvailable } from '~/app/hooks/useTempDevFeatureAvailable'; @@ -67,7 +68,7 @@ const CredentialsSection: React.FC = ({ <> - {HELP_TEXT.ORGANIZATION} + {DESCRIPTION_TEXT.ORGANIZATION} @@ -87,15 +88,22 @@ const CredentialsSection: React.FC = ({ ) : undefined; const organizationFormGroup = ( - - {organizationInput} - + <> + + {organizationInput} + + + + {HELPER_TEXT.ORGANIZATION_SLUG} + + + ); const accessTokenInput = ( @@ -111,18 +119,39 @@ const CredentialsSection: React.FC = ({ /> ); + const accessTokenDescriptionTxtNode = ( + + + {DESCRIPTION_TEXT.ACCESS_TOKEN} + + + ); + + const accessTokenHelperTxtNode = ( + + + {HELPER_TEXT.ACCESS_TOKEN} + + + ); + const accessTokenFormGroup = ( <> - - - - {HELP_TEXT.ACCESS_TOKEN} - - - - + + {accessTokenInput} + {validationError && ( - + {validationError.message} )} @@ -130,15 +159,15 @@ const CredentialsSection: React.FC = ({ } > - The organization and accessToken are valid for connection. + {SUCCESS_MESSAGES.VALIDATION_SUCCESSFUL_BODY} )} - +