Skip to content

Commit e0522bb

Browse files
committed
feat(FR-1405): version control of deployment features
1 parent b99076b commit e0522bb

File tree

6 files changed

+26
-4
lines changed

6 files changed

+26
-4
lines changed

react/src/App.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ const ReservoirArtifactDetailPage = React.lazy(
9393

9494
const SchedulerPage = React.lazy(() => import('./pages/SchedulerPage'));
9595
// Deployment pages
96+
// const DeploymentListPage = React.lazy(
97+
// () => import('./pages/Deployments/DeploymentListPage'),
98+
// );
9699
const DeploymentListPage = React.lazy(
97100
() => import('./pages/DeploymentListPage'),
98101
);

react/src/components/MainLayout/WebUISider.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {
1919
CloudUploadOutlined,
2020
ControlOutlined,
2121
DashboardOutlined,
22+
DeploymentUnitOutlined,
2223
FileDoneOutlined,
2324
HddOutlined,
2425
InfoCircleOutlined,
@@ -184,12 +185,20 @@ const WebUISider: React.FC<WebUISiderProps> = (props) => {
184185
key: 'job',
185186
group: 'workload',
186187
},
187-
{
188+
!baiClient.supports('deployment') && {
188189
label: <WebUILink to="/serving">{t('webui.menu.Serving')}</WebUILink>,
189190
icon: <BAIEndpointsIcon style={{ color: token.colorPrimary }} />,
190191
key: 'serving',
191192
group: 'service',
192193
},
194+
baiClient.supports('deployment') && {
195+
label: (
196+
<WebUILink to="/deployment">{t('webui.menu.Deployment')}</WebUILink>
197+
),
198+
icon: <DeploymentUnitOutlined style={{ color: token.colorPrimary }} />,
199+
key: 'deployment',
200+
group: 'service',
201+
},
193202
{
194203
label: <WebUILink to="/model-store">{t('data.ModelStore')}</WebUILink>,
195204
icon: <BAIModelStoreIcon style={{ color: token.colorPrimary }} />,

react/src/pages/DeploymentDetailPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ const DeploymentDetailPage: React.FC = () => {
8989
const { deployment } = useLazyLoadQuery<DeploymentDetailPageQuery>(
9090
graphql`
9191
query DeploymentDetailPageQuery($deploymentId: ID!) {
92-
deployment(id: $deploymentId) {
92+
deployment(id: $deploymentId) @since(version: "25.14.0") {
9393
id @required(action: THROW)
9494
metadata {
9595
name

react/src/pages/DeploymentListPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const DeploymentListPage: React.FC = () => {
5353
const deployments = useLazyLoadQuery<DeploymentListPageQuery>(
5454
graphql`
5555
query DeploymentListPageQuery($filter: DeploymentFilter, $first: Int) {
56-
deployments(filter: $filter, first: $first) {
56+
deployments(filter: $filter, first: $first) @since(version: "25.14.0") {
5757
edges {
5858
node {
5959
id

src/components/backend-ai-webui.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ export default class BackendAIWebUI extends connect(store)(LitElement) {
137137
@property({ type: Number }) minibarWidth = 88;
138138
@property({ type: Number }) sidebarWidth = 250;
139139
@property({ type: Number }) sidepanelWidth = 250;
140-
@property({ type: Object }) supports = Object();
141140
@property({ type: Array }) availablePages = [
142141
'start',
143142
'dashboard',
@@ -639,6 +638,14 @@ export default class BackendAIWebUI extends connect(store)(LitElement) {
639638
page: 'agent-summary',
640639
available: !this.isHideAgents,
641640
},
641+
{
642+
page: 'serving',
643+
available: !globalThis.backendaiclient.supports('deployment'),
644+
},
645+
{
646+
page: 'deployment',
647+
available: !!globalThis.backendaiclient.supports('deployment'),
648+
},
642649
];
643650

644651
if (this._page === 'start') {

src/lib/backend.ai-client-esm.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,9 @@ class Client {
825825
if (this.isManagerVersionCompatibleWith('25.15.0')) {
826826
this._features['agent-stats'] = true;
827827
}
828+
if (this.isManagerVersionCompatibleWith('25.14.0')) {
829+
this._features['deployment'] = true;
830+
}
828831
}
829832

830833
/**

0 commit comments

Comments
 (0)