Skip to content

Commit 64ef62f

Browse files
authored
Bring midstream changes to upstream (kubeflow#866)
* Bring midstream changes to upstream Signed-off-by: lucferbux <[email protected]> * Revamp bff endpoints Signed-off-by: lucferbux <[email protected]> * Update Model Registry type Signed-off-by: lucferbux <[email protected]> * refactor: improve Model Registry form handling and update documentation Signed-off-by: lucferbux <[email protected]> * (fix): Small fix for MUI Theming Signed-off-by: lucferbux <[email protected]> --------- Signed-off-by: lucferbux <[email protected]>
1 parent 1e8dd8e commit 64ef62f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1909
-594
lines changed

clients/ui/api/openapi/mod-arch.yaml

Lines changed: 328 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,35 @@ paths:
2525
operationId: healthcheck
2626
summary: HealthCheck
2727
description: HealthCheck endpoint.
28+
/api/v1/namespaces:
29+
summary: Path used to get available namespaces.
30+
description: >-
31+
The REST endpoint/path used to list available namespaces.
32+
get:
33+
tags:
34+
- K8SOperation
35+
responses:
36+
"200":
37+
description: 'Ok'
38+
content:
39+
application/json:
40+
schema:
41+
type: object
42+
properties:
43+
metadata:
44+
type: object
45+
description: Metadata about the response
46+
data:
47+
type: object
48+
properties:
49+
name:
50+
type: string
51+
example: default-namespace
52+
"500":
53+
$ref: "#/components/responses/InternalServerError"
54+
operationId: getNamespaces
55+
summary: Get Available Namespaces
56+
description: Returns available namespaces in the cluster.
2857
/api/v1/user:
2958
summary: Path used to Retrieve a user based on the header.
3059
description: >-
@@ -63,6 +92,112 @@ paths:
6392
operationId: getModelRegistries
6493
summary: List All Model Registries
6594
description: Gets a list of all `Model Registry` entities.
95+
/api/v1/settings/model_registry:
96+
summary: Path used to manage Model Registry resources.
97+
description: >-
98+
The REST endpoint/path used to list and create Model Registry resources.
99+
get:
100+
tags:
101+
- K8SOperation
102+
parameters:
103+
- $ref: "#/components/parameters/kubeflowUserId"
104+
responses:
105+
"200":
106+
$ref: "#/components/responses/ModelRegistryKindListResponse"
107+
"401":
108+
$ref: "#/components/responses/Unauthorized"
109+
"500":
110+
$ref: "#/components/responses/InternalServerError"
111+
operationId: getModelRegistrySettings
112+
summary: List All Model Registry Settings
113+
description: Gets a list of all Model Registry settings.
114+
post:
115+
requestBody:
116+
description: A new Model Registry settings to be created.
117+
content:
118+
application/json:
119+
schema:
120+
type: object
121+
properties:
122+
metadata:
123+
type: object
124+
description: Metadata about the response
125+
data:
126+
$ref: "#/components/schemas/ModelRegistryKind"
127+
required: true
128+
tags:
129+
- K8SOperation
130+
parameters:
131+
- $ref: "#/components/parameters/kubeflowUserId"
132+
responses:
133+
"201":
134+
$ref: "#/components/responses/ModelRegistryKindResponse"
135+
"400":
136+
$ref: "#/components/responses/BadRequest"
137+
"401":
138+
$ref: "#/components/responses/Unauthorized"
139+
"500":
140+
$ref: "#/components/responses/InternalServerError"
141+
operationId: createModelRegistrySettings
142+
summary: Create Model Registry Settings
143+
description: Creates a new instance of Model Registry settings.
144+
/api/v1/settings/model_registry/{modelregistryId}:
145+
summary: Path used to manage Model Registry resources.
146+
description: >-
147+
The REST endpoint/path used to list, create, update and delete Model Registry resources.
148+
patch:
149+
requestBody:
150+
description: Updated Model Registry settings information.
151+
content:
152+
application/json:
153+
schema:
154+
type: object
155+
properties:
156+
metadata:
157+
type: object
158+
description: Metadata about the response
159+
data:
160+
$ref: "#/components/schemas/ModelRegistryKind"
161+
required: true
162+
tags:
163+
- K8SOperation
164+
parameters:
165+
- $ref: "#/components/parameters/kubeflowUserId"
166+
- $ref: '#/components/parameters/registeredmodelId'
167+
responses:
168+
"200":
169+
$ref: "#/components/responses/ModelRegistryKindResponse"
170+
"400":
171+
$ref: "#/components/responses/BadRequest"
172+
"401":
173+
$ref: "#/components/responses/Unauthorized"
174+
"404":
175+
$ref: "#/components/responses/NotFound"
176+
"500":
177+
$ref: "#/components/responses/InternalServerError"
178+
operationId: updateModelRegistrySettings
179+
summary: Update Model Registry Settings
180+
description: Updates an existing Model Registry settings.
181+
delete:
182+
tags:
183+
- K8SOperation
184+
parameters:
185+
- $ref: "#/components/parameters/kubeflowUserId"
186+
- $ref: '#/components/parameters/registeredmodelId'
187+
responses:
188+
"204":
189+
description: Successfully deleted
190+
"400":
191+
$ref: "#/components/responses/BadRequest"
192+
"401":
193+
$ref: "#/components/responses/Unauthorized"
194+
"404":
195+
$ref: "#/components/responses/NotFound"
196+
"500":
197+
$ref: "#/components/responses/InternalServerError"
198+
operationId: deleteModelRegistrySettings
199+
summary: Delete Model Registry Settings
200+
description: Deletes an existing Model Registry settings.
66201
/api/v1/model_registry/{modelRegistryName}/model_versions/{modelversionId}:
67202
summary: Path used to manage a single ModelVersion.
68203
description: >-
@@ -234,12 +369,7 @@ paths:
234369
parameters:
235370
- $ref: "#/components/parameters/modelRegistryName"
236371
- $ref: "#/components/parameters/kubeflowUserId"
237-
- name: registeredmodelId
238-
description: A unique identifier for a `RegisteredModel`.
239-
schema:
240-
type: string
241-
in: path
242-
required: true
372+
- $ref: '#/components/parameters/registeredmodelId'
243373
/api/v1/model_registry/{modelRegistryName}/model_versions/{modelversionId}/artifacts:
244374
summary: Path used to manage the list of artifacts for a modelversion.
245375
description: >-
@@ -369,12 +499,44 @@ paths:
369499
parameters:
370500
- $ref: "#/components/parameters/modelRegistryName"
371501
- $ref: "#/components/parameters/kubeflowUserId"
372-
- name: registeredmodelId
373-
description: A unique identifier for a `RegisteredModel`.
374-
schema:
375-
type: string
376-
in: path
502+
- $ref: '#/components/parameters/registeredmodelId'
503+
/api/v1/model_registry/{modelRegistryName}/model_artifact/{modelartifactId}:
504+
summary: Path used to patch Model Artifacts
505+
description: >-
506+
The REST endpoint/path used patch single instances of an `ModelArtifact`. This path contains`PATCH` operation used to perform the patch tasks.
507+
patch:
508+
requestBody:
509+
description: Updated `ModelArtifact` information.
510+
content:
511+
application/json:
512+
schema:
513+
type: object
514+
properties:
515+
metadata:
516+
type: object
517+
description: Metadata about the response
518+
data:
519+
$ref: "#/components/schemas/Artifact"
377520
required: true
521+
tags:
522+
- ModelRegistryService
523+
responses:
524+
"200":
525+
$ref: "#/components/responses/ArtifactResponse"
526+
"400":
527+
$ref: "#/components/responses/BadRequest"
528+
"401":
529+
$ref: "#/components/responses/Unauthorized"
530+
"404":
531+
$ref: "#/components/responses/NotFound"
532+
"500":
533+
$ref: "#/components/responses/InternalServerError"
534+
operationId: patchModelArtifact
535+
summary: Patch a Model Artifact
536+
description: Patch an existing `Model Artifact`.
537+
parameters:
538+
- $ref: "#/components/parameters/modelRegistryName"
539+
- $ref: "#/components/parameters/kubeflowUserId"
378540
components:
379541
schemas:
380542
Config:
@@ -402,7 +564,123 @@ components:
402564
example: My Model Registry
403565
description:
404566
type: string
405-
example: This is the main model reigstry for the cluster and contains..
567+
example: This is the main model registry for the cluster and contains..
568+
serverAddress:
569+
type: string
570+
example: http://example.com
571+
ModelRegistryKind:
572+
description: Kubernetes Custom Resource for Model Registry
573+
type: object
574+
properties:
575+
apiVersion:
576+
type: string
577+
example: modelregistry.kubeflow.io/v1alpha1
578+
kind:
579+
type: string
580+
example: ModelRegistry
581+
metadata:
582+
type: object
583+
properties:
584+
name:
585+
type: string
586+
example: modelregistry-sample
587+
namespace:
588+
type: string
589+
example: odh-model-registries
590+
creationTimestamp:
591+
type: string
592+
example: 2024-03-14T08:01:42Z
593+
spec:
594+
type: object
595+
properties:
596+
grpc:
597+
type: object
598+
rest:
599+
type: object
600+
istio:
601+
type: object
602+
properties:
603+
gateway:
604+
type: object
605+
properties:
606+
grpc:
607+
type: object
608+
properties:
609+
tls:
610+
type: object
611+
rest:
612+
type: object
613+
properties:
614+
tls:
615+
type: object
616+
mysql:
617+
type: object
618+
properties:
619+
database:
620+
type: string
621+
example: model-registry
622+
host:
623+
type: string
624+
example: model-registry-db
625+
passwordSecret:
626+
type: object
627+
properties:
628+
key:
629+
type: string
630+
example: database-password
631+
name:
632+
type: string
633+
example: model-registry-db
634+
port:
635+
type: integer
636+
example: 5432
637+
skipDBCreation:
638+
type: boolean
639+
example: false
640+
username:
641+
type: string
642+
example: mlmduser
643+
sslRootCertificateConfigMap:
644+
type: string
645+
example: ssl-config-map
646+
sslRootCertificateSecret:
647+
type: string
648+
example: ssl-secret
649+
status:
650+
type: object
651+
properties:
652+
conditions:
653+
type: array
654+
items:
655+
type: object
656+
properties:
657+
lastTransitionTime:
658+
type: string
659+
example: 2024-03-22T09:30:02Z
660+
message:
661+
type: string
662+
example: Deployment for custom resource modelregistry-sample was successfully created
663+
reason:
664+
type: string
665+
example: CreatedDeployment
666+
status:
667+
type: string
668+
example: "True"
669+
type:
670+
type: string
671+
example: "Progressing"
672+
ModelRegistryKindList:
673+
description: List of ModelRegistryKind entities.
674+
type: object
675+
allOf:
676+
- type: object
677+
properties:
678+
items:
679+
description: Array of `ModelRegistryKind` entities.
680+
type: array
681+
items:
682+
$ref: "#/components/schemas/ModelRegistryKind"
683+
- $ref: "#/components/schemas/BaseResourceList"
406684
ArtifactState:
407685
description: |2-
408686
- PENDING: A state indicating that the artifact may exist.
@@ -1210,7 +1488,45 @@ components:
12101488
data:
12111489
$ref: "#/components/schemas/ServeModel"
12121490
description: A response containing a `ServeModel` entity.
1491+
ModelRegistryKindListResponse:
1492+
content:
1493+
application/json:
1494+
schema:
1495+
type: object
1496+
properties:
1497+
metadata:
1498+
type: object
1499+
description: Metadata about the response
1500+
data:
1501+
$ref: "#/components/schemas/ModelRegistryKindList"
1502+
description: A response containing a `ModelRegistryKindList` entity.
1503+
ModelRegistryKindResponse:
1504+
content:
1505+
application/json:
1506+
schema:
1507+
type: object
1508+
properties:
1509+
metadata:
1510+
type: object
1511+
description: Metadata about the response
1512+
data:
1513+
$ref: "#/components/schemas/ModelRegistryKind"
1514+
description: A response containing a `ModelRegistryKind` entity.
12131515
parameters:
1516+
registeredmodelId:
1517+
name: registeredmodelId
1518+
description: A unique identifier for a `RegisteredModel`.
1519+
schema:
1520+
type: string
1521+
in: path
1522+
required: true
1523+
modelRegsitryId:
1524+
name: modelRegsitryId
1525+
description: A unique identifier for a `Model Registry`.
1526+
schema:
1527+
type: string
1528+
in: path
1529+
required: true
12141530
kubeflowUserId:
12151531
in: header
12161532
name: kubeflow-userid

0 commit comments

Comments
 (0)