Skip to content

Commit 5705bfa

Browse files
authored
Merge pull request #943 from Vafilor/feat/model.deployment
feat: Inference Service API
2 parents 147c937 + 44a78ef commit 5705bfa

File tree

10 files changed

+2408
-0
lines changed

10 files changed

+2408
-0
lines changed

api/api.swagger.json

Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,114 @@
763763
]
764764
}
765765
},
766+
"/apis/v1beta1/{namespace}/inferenceservice": {
767+
"post": {
768+
"operationId": "CreateInferenceService",
769+
"responses": {
770+
"200": {
771+
"description": "A successful response.",
772+
"schema": {
773+
"$ref": "#/definitions/GetInferenceServiceResponse"
774+
}
775+
},
776+
"default": {
777+
"description": "An unexpected error response.",
778+
"schema": {
779+
"$ref": "#/definitions/google.rpc.Status"
780+
}
781+
}
782+
},
783+
"parameters": [
784+
{
785+
"name": "namespace",
786+
"in": "path",
787+
"required": true,
788+
"type": "string"
789+
},
790+
{
791+
"name": "body",
792+
"in": "body",
793+
"required": true,
794+
"schema": {
795+
"$ref": "#/definitions/CreateInferenceServiceRequest"
796+
}
797+
}
798+
],
799+
"tags": [
800+
"InferenceService"
801+
]
802+
}
803+
},
804+
"/apis/v1beta1/{namespace}/inferenceservice/{name}": {
805+
"get": {
806+
"operationId": "GetInferenceService",
807+
"responses": {
808+
"200": {
809+
"description": "A successful response.",
810+
"schema": {
811+
"$ref": "#/definitions/GetInferenceServiceResponse"
812+
}
813+
},
814+
"default": {
815+
"description": "An unexpected error response.",
816+
"schema": {
817+
"$ref": "#/definitions/google.rpc.Status"
818+
}
819+
}
820+
},
821+
"parameters": [
822+
{
823+
"name": "namespace",
824+
"in": "path",
825+
"required": true,
826+
"type": "string"
827+
},
828+
{
829+
"name": "name",
830+
"in": "path",
831+
"required": true,
832+
"type": "string"
833+
}
834+
],
835+
"tags": [
836+
"InferenceService"
837+
]
838+
},
839+
"delete": {
840+
"operationId": "DeleteInferenceService",
841+
"responses": {
842+
"200": {
843+
"description": "A successful response.",
844+
"schema": {
845+
"properties": {}
846+
}
847+
},
848+
"default": {
849+
"description": "An unexpected error response.",
850+
"schema": {
851+
"$ref": "#/definitions/google.rpc.Status"
852+
}
853+
}
854+
},
855+
"parameters": [
856+
{
857+
"name": "namespace",
858+
"in": "path",
859+
"required": true,
860+
"type": "string"
861+
},
862+
{
863+
"name": "name",
864+
"in": "path",
865+
"required": true,
866+
"type": "string"
867+
}
868+
],
869+
"tags": [
870+
"InferenceService"
871+
]
872+
}
873+
},
766874
"/apis/v1beta1/{namespace}/secrets": {
767875
"get": {
768876
"operationId": "ListSecrets",
@@ -3260,6 +3368,43 @@
32603368
}
32613369
}
32623370
},
3371+
"Container": {
3372+
"type": "object",
3373+
"properties": {
3374+
"image": {
3375+
"type": "string"
3376+
},
3377+
"name": {
3378+
"type": "string"
3379+
},
3380+
"env": {
3381+
"type": "array",
3382+
"items": {
3383+
"$ref": "#/definitions/Env"
3384+
}
3385+
}
3386+
}
3387+
},
3388+
"CreateInferenceServiceRequest": {
3389+
"type": "object",
3390+
"properties": {
3391+
"namespace": {
3392+
"type": "string"
3393+
},
3394+
"name": {
3395+
"type": "string"
3396+
},
3397+
"defaultTransformerImage": {
3398+
"type": "string"
3399+
},
3400+
"predictor": {
3401+
"$ref": "#/definitions/InferenceServicePredictor"
3402+
},
3403+
"transformer": {
3404+
"$ref": "#/definitions/InferenceServiceTransformer"
3405+
}
3406+
}
3407+
},
32633408
"CreateWorkflowExecutionBody": {
32643409
"type": "object",
32653410
"properties": {
@@ -3362,6 +3507,17 @@
33623507
}
33633508
}
33643509
},
3510+
"Env": {
3511+
"type": "object",
3512+
"properties": {
3513+
"name": {
3514+
"type": "string"
3515+
},
3516+
"value": {
3517+
"type": "string"
3518+
}
3519+
}
3520+
},
33653521
"File": {
33663522
"type": "object",
33673523
"properties": {
@@ -3431,6 +3587,23 @@
34313587
}
34323588
}
34333589
},
3590+
"GetInferenceServiceResponse": {
3591+
"type": "object",
3592+
"properties": {
3593+
"ready": {
3594+
"type": "boolean"
3595+
},
3596+
"conditions": {
3597+
"type": "array",
3598+
"items": {
3599+
"$ref": "#/definitions/InferenceServiceCondition"
3600+
}
3601+
},
3602+
"predictUrl": {
3603+
"type": "string"
3604+
}
3605+
}
3606+
},
34343607
"GetLabelsResponse": {
34353608
"type": "object",
34363609
"properties": {
@@ -3497,6 +3670,72 @@
34973670
}
34983671
}
34993672
},
3673+
"InferenceServiceCondition": {
3674+
"type": "object",
3675+
"properties": {
3676+
"lastTransitionTime": {
3677+
"type": "string"
3678+
},
3679+
"status": {
3680+
"type": "string"
3681+
},
3682+
"type": {
3683+
"type": "string"
3684+
}
3685+
}
3686+
},
3687+
"InferenceServicePredictor": {
3688+
"type": "object",
3689+
"properties": {
3690+
"name": {
3691+
"type": "string"
3692+
},
3693+
"runtimeVersion": {
3694+
"type": "string"
3695+
},
3696+
"storageUri": {
3697+
"type": "string"
3698+
},
3699+
"nodeSelector": {
3700+
"type": "string"
3701+
},
3702+
"minCpu": {
3703+
"type": "string"
3704+
},
3705+
"minMemory": {
3706+
"type": "string"
3707+
},
3708+
"maxCpu": {
3709+
"type": "string"
3710+
},
3711+
"maxMemory": {
3712+
"type": "string"
3713+
}
3714+
}
3715+
},
3716+
"InferenceServiceTransformer": {
3717+
"type": "object",
3718+
"properties": {
3719+
"containers": {
3720+
"type": "array",
3721+
"items": {
3722+
"$ref": "#/definitions/Container"
3723+
}
3724+
},
3725+
"minCpu": {
3726+
"type": "string"
3727+
},
3728+
"minMemory": {
3729+
"type": "string"
3730+
},
3731+
"maxCpu": {
3732+
"type": "string"
3733+
},
3734+
"maxMemory": {
3735+
"type": "string"
3736+
}
3737+
}
3738+
},
35003739
"IsAuthorized": {
35013740
"type": "object",
35023741
"properties": {

0 commit comments

Comments
 (0)