diff --git a/frontend/src/app/AppRoutes.tsx b/frontend/src/app/AppRoutes.tsx
index a085876382..412cb0cdcb 100644
--- a/frontend/src/app/AppRoutes.tsx
+++ b/frontend/src/app/AppRoutes.tsx
@@ -53,6 +53,9 @@ const ClusterSettingsPage = React.lazy(() => import('../pages/clusterSettings/Cl
const CustomServingRuntimeRoutes = React.lazy(
() => import('../pages/modelServing/customServingRuntimes/CustomServingRuntimeRoutes'),
);
+const ModelRegistrySettingsPage = React.lazy(
+ () => import('../pages/modelRegistrySettings/ModelRegistrySettings'),
+);
const GroupSettingsPage = React.lazy(() => import('../pages/groupSettings/GroupSettings'));
const LearningCenterPage = React.lazy(() => import('../pages/learningCenter/LearningCenter'));
const BYONImagesPage = React.lazy(() => import('../pages/BYONImages/BYONImages'));
@@ -127,6 +130,7 @@ const AppRoutes: React.FC = () => {
} />
} />
} />
+ } />
} />
>
)}
diff --git a/frontend/src/concepts/areas/const.ts b/frontend/src/concepts/areas/const.ts
index fad0f0fa6d..e386bf0829 100644
--- a/frontend/src/concepts/areas/const.ts
+++ b/frontend/src/concepts/areas/const.ts
@@ -80,5 +80,6 @@ export const SupportedAreasStateMap: SupportedAreasState = {
[SupportedArea.MODEL_REGISTRY]: {
featureFlags: ['disableModelRegistry'],
requiredComponents: [StackComponent.MODEL_REGISTRY],
+ requiredCapabilities: [StackCapability.SERVICE_MESH, StackCapability.SERVICE_MESH_AUTHZ],
},
};
diff --git a/frontend/src/pages/modelRegistrySettings/ModelRegistrySettings.tsx b/frontend/src/pages/modelRegistrySettings/ModelRegistrySettings.tsx
new file mode 100644
index 0000000000..b9d0cdbc9c
--- /dev/null
+++ b/frontend/src/pages/modelRegistrySettings/ModelRegistrySettings.tsx
@@ -0,0 +1,50 @@
+import React from 'react';
+import { useNavigate } from 'react-router-dom';
+import {
+ Button,
+ EmptyState,
+ EmptyStateActions,
+ EmptyStateBody,
+ EmptyStateFooter,
+ EmptyStateHeader,
+ EmptyStateIcon,
+ EmptyStateVariant,
+} from '@patternfly/react-core';
+import { PlusCircleIcon } from '@patternfly/react-icons';
+import ApplicationsPage from '~/pages/ApplicationsPage';
+
+const ModelRegistrySettings: React.FC = () => {
+ const navigate = useNavigate();
+
+ return (
+
+
+ }
+ headingLevel="h5"
+ />
+
+ You can create model registries for specific users or projects.
+
+
+
+
+
+
+
+
+ );
+};
+
+export default ModelRegistrySettings;
diff --git a/frontend/src/utilities/NavData.tsx b/frontend/src/utilities/NavData.tsx
index 82dbc9f26e..f8926a7072 100644
--- a/frontend/src/utilities/NavData.tsx
+++ b/frontend/src/utilities/NavData.tsx
@@ -150,6 +150,15 @@ const useCustomRuntimesNav = (): NavDataHref[] =>
},
]);
+const useModelRegisterySettingsNav = (): NavDataHref[] =>
+ useAreaCheck(SupportedArea.MODEL_REGISTRY, [
+ {
+ id: 'settings-model-registry',
+ label: 'Model registry settings',
+ href: '/modelRegistrySettings',
+ },
+ ]);
+
const useUserManagementNav = (): NavDataHref[] =>
useAreaCheck(SupportedArea.USER_MANAGEMENT, [
{
@@ -174,6 +183,7 @@ const useSettingsNav = (): NavDataGroup[] => {
...useClusterSettingsNav(),
...useAcceleratorProfilesNav(),
...useCustomRuntimesNav(),
+ ...useModelRegisterySettingsNav(),
...useUserManagementNav(),
];