From f7de5e696e8d0e64e3ed2b2493ec64244291a5c9 Mon Sep 17 00:00:00 2001 From: Sivanantham <90966311+sivanantha321@users.noreply.github.com> Date: Sat, 2 Sep 2023 20:06:14 +0530 Subject: [PATCH] Introduce Priority field in ServingRuntime (#3031) * Introduce priority field Signed-off-by: Sivanantham Chinnaiyan * Implement validator webhook Signed-off-by: Sivanantham Chinnaiyan * Add v2 support and priority to servingruntime yaml Signed-off-by: Sivanantham Chinnaiyan * Fix protocol version in serving runtime sorting and reverse sort the serving runtime Signed-off-by: Sivanantham Chinnaiyan * Add v2 protocol support in servingruntime charts Signed-off-by: Sivanantham Chinnaiyan * Add webhooks to helm chart Signed-off-by: Sivanantham Chinnaiyan * Add tests Signed-off-by: Sivanantham Chinnaiyan * make generate Signed-off-by: Sivanantham Chinnaiyan * fix supported modelformat sort Signed-off-by: Sivanantham Chinnaiyan * fix helm chart Signed-off-by: Sivanantham Chinnaiyan * rebase master Signed-off-by: Sivanantham Chinnaiyan * Make model name comparision case insensitive Signed-off-by: Sivanantham Chinnaiyan * Resolve comments Signed-off-by: Sivanantham Chinnaiyan --------- Signed-off-by: Sivanantham Chinnaiyan --- Makefile | 12 +- ...ving.kserve.io_clusterservingruntimes.yaml | 4 + .../serving.kserve.io_servingruntimes.yaml | 4 + .../templates/clusterservingruntimes.yaml | 29 +- .../templates/webhookconfiguration.yaml | 58 + cmd/agent/main.go | 16 + cmd/manager/main.go | 8 + cmd/manager/main_test.go | 16 + cmd/router/main_test.go | 16 + cmd/spec-gen/main.go | 1 + ...ving.kserve.io_clusterservingruntimes.yaml | 4 + .../serving.kserve.io_servingruntimes.yaml | 4 + ...e_validatingwebhook_cainjection_patch.yaml | 8 + ..._validatingwebhook_cainjection_patch.yaml} | 0 config/default/kustomization.yaml | 40 +- ...e_validationwebhook_cainjection_patch.yaml | 8 + config/runtimes/kserve-lgbserver.yaml | 2 + config/runtimes/kserve-mlserver.yaml | 8 + config/runtimes/kserve-paddleserver.yaml | 2 + config/runtimes/kserve-pmmlserver.yaml | 3 + config/runtimes/kserve-sklearnserver.yaml | 2 + .../runtimes/kserve-tensorflow-serving.yaml | 2 + config/runtimes/kserve-torchserve.yaml | 1 + config/runtimes/kserve-tritonserver.yaml | 5 + config/runtimes/kserve-xgbserver.yaml | 2 + config/webhook/manifests.yaml | 54 + hack/boilerplate.sh | 40 +- hack/python-sdk/client-gen.sh | 6 +- .../serving/v1alpha1/servingruntime_types.go | 24 + .../v1alpha1/servingruntime_types_test.go | 192 +++ .../serving/v1alpha1/zz_generated.deepcopy.go | 5 + pkg/apis/serving/v1beta1/openapi_generated.go | 337 +++-- pkg/apis/serving/v1beta1/predictor_model.go | 33 +- .../serving/v1beta1/predictor_model_test.go | 145 +- pkg/apis/serving/v1beta1/swagger.json | 5 + .../serving/v1beta1/zz_generated.deepcopy.go | 141 +- pkg/client/clientset/versioned/clientset.go | 3 +- .../informers/externalversions/factory.go | 79 +- .../clientset/versioned/clientset.go | 3 +- .../informers/externalversions/factory.go | 79 +- pkg/constants/constants.go | 3 +- .../servingruntime/servingruntime_webhook.go | 182 +++ .../servingruntime_webhook_test.go | 1348 +++++++++++++++++ python/kserve/docs/V1alpha1BuiltInAdapter.md | 10 +- .../docs/V1alpha1ClusterServingRuntime.md | 10 +- .../docs/V1alpha1ClusterServingRuntimeList.md | 6 +- python/kserve/docs/V1alpha1InferenceGraph.md | 10 +- .../kserve/docs/V1alpha1InferenceGraphList.md | 6 +- .../kserve/docs/V1alpha1InferenceGraphSpec.md | 4 +- .../docs/V1alpha1InferenceGraphStatus.md | 8 +- python/kserve/docs/V1alpha1InferenceRouter.md | 2 +- python/kserve/docs/V1alpha1InferenceStep.md | 14 +- python/kserve/docs/V1alpha1InferenceTarget.md | 6 +- python/kserve/docs/V1alpha1ServingRuntime.md | 10 +- .../kserve/docs/V1alpha1ServingRuntimeList.md | 6 +- .../docs/V1alpha1ServingRuntimePodSpec.md | 14 +- .../kserve/docs/V1alpha1ServingRuntimeSpec.md | 34 +- python/kserve/docs/V1alpha1StorageHelper.md | 2 +- .../docs/V1alpha1SupportedModelFormat.md | 7 +- python/kserve/docs/V1alpha1TrainedModel.md | 10 +- .../kserve/docs/V1alpha1TrainedModelList.md | 6 +- python/kserve/docs/V1beta1ARTExplainerSpec.md | 50 +- .../kserve/docs/V1beta1AlibiExplainerSpec.md | 50 +- python/kserve/docs/V1beta1Batcher.md | 6 +- .../docs/V1beta1ComponentExtensionSpec.md | 22 +- .../kserve/docs/V1beta1ComponentStatusSpec.md | 18 +- python/kserve/docs/V1beta1CustomExplainer.md | 76 +- python/kserve/docs/V1beta1CustomPredictor.md | 76 +- .../kserve/docs/V1beta1CustomTransformer.md | 76 +- python/kserve/docs/V1beta1DeployConfig.md | 2 +- .../docs/V1beta1ExplainerExtensionSpec.md | 52 +- python/kserve/docs/V1beta1ExplainerSpec.md | 104 +- python/kserve/docs/V1beta1ExplainersConfig.md | 4 +- python/kserve/docs/V1beta1FailureInfo.md | 12 +- python/kserve/docs/V1beta1InferenceService.md | 10 +- .../docs/V1beta1InferenceServiceList.md | 6 +- .../docs/V1beta1InferenceServiceSpec.md | 4 +- .../docs/V1beta1InferenceServiceStatus.md | 14 +- python/kserve/docs/V1beta1IngressConfig.md | 20 +- python/kserve/docs/V1beta1LightGBMSpec.md | 52 +- python/kserve/docs/V1beta1LoggerSpec.md | 4 +- python/kserve/docs/V1beta1ModelCopies.md | 2 +- python/kserve/docs/V1beta1ModelFormat.md | 4 +- .../kserve/docs/V1beta1ModelRevisionStates.md | 2 +- python/kserve/docs/V1beta1ModelSpec.md | 54 +- python/kserve/docs/V1beta1ModelStatus.md | 6 +- python/kserve/docs/V1beta1ONNXRuntimeSpec.md | 52 +- python/kserve/docs/V1beta1PMMLSpec.md | 52 +- python/kserve/docs/V1beta1PaddleServerSpec.md | 52 +- python/kserve/docs/V1beta1PodSpec.md | 78 +- .../docs/V1beta1PredictorExtensionSpec.md | 52 +- python/kserve/docs/V1beta1PredictorSpec.md | 120 +- python/kserve/docs/V1beta1SKLearnSpec.md | 52 +- python/kserve/docs/V1beta1StorageSpec.md | 8 +- python/kserve/docs/V1beta1TFServingSpec.md | 52 +- python/kserve/docs/V1beta1TorchServeSpec.md | 52 +- python/kserve/docs/V1beta1TransformerSpec.md | 100 +- python/kserve/docs/V1beta1TritonSpec.md | 52 +- python/kserve/docs/V1beta1XGBoostSpec.md | 52 +- .../models/v1alpha1_supported_model_format.py | 30 +- .../serving.kserve.io_inferenceservices.yaml | 8 + 101 files changed, 3574 insertions(+), 1063 deletions(-) create mode 100644 config/default/clusterservingruntime_validatingwebhook_cainjection_patch.yaml rename config/default/{trainedmodel_mutatingwebhook_cainjection_patch.yaml => inferencegraph_validatingwebhook_cainjection_patch.yaml} (100%) create mode 100644 config/default/servingruntime_validationwebhook_cainjection_patch.yaml create mode 100644 pkg/webhook/admission/servingruntime/servingruntime_webhook.go create mode 100644 pkg/webhook/admission/servingruntime/servingruntime_webhook_test.go diff --git a/Makefile b/Makefile index bee480378ea..f306cabf5bc 100644 --- a/Makefile +++ b/Makefile @@ -76,6 +76,9 @@ deploy: manifests ${KUSTOMIZE} edit remove resource certmanager/certificate.yaml; \ else ${KUSTOMIZE} edit add resource certmanager/certificate.yaml; fi; ${KUSTOMIZE} build config/default | kubectl apply -f - + kubectl wait --for=condition=ready pod -l control-plane=kserve-controller-manager -n kserve --timeout=300s + sleep 2 + ${KUSTOMIZE} build config/runtimes | kubectl apply -f - if [ ${KSERVE_ENABLE_SELF_SIGNED_CA} != false ]; then ./hack/self-signed-ca.sh; fi; deploy-dev: manifests @@ -87,6 +90,7 @@ deploy-dev: manifests ${KUSTOMIZE} build config/overlays/development | kubectl apply -f - # TODO: Add runtimes as part of default deployment kubectl wait --for=condition=ready pod -l control-plane=kserve-controller-manager -n kserve --timeout=300s + sleep 2 ${KUSTOMIZE} build config/runtimes | kubectl apply -f - if [ ${KSERVE_ENABLE_SELF_SIGNED_CA} != false ]; then ./hack/self-signed-ca.sh; fi; @@ -125,17 +129,9 @@ deploy-helm: manifests undeploy: kustomize ${KUSTOMIZE} build config/default | kubectl delete -f - - kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kserve.io - kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io trainedmodel.serving.kserve.io - kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io inferencegraph.serving.kserve.io - kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kserve.io undeploy-dev: kustomize ${KUSTOMIZE} build config/overlays/development | kubectl delete -f - - kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kserve.io - kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io trainedmodel.serving.kserve.io - kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io inferencegraph.serving.kserve.io - kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io inferenceservice.serving.kserve.io # Generate manifests e.g. CRD, RBAC etc. manifests: controller-gen kustomize diff --git a/charts/kserve-crd/templates/serving.kserve.io_clusterservingruntimes.yaml b/charts/kserve-crd/templates/serving.kserve.io_clusterservingruntimes.yaml index 0847b34194d..ce243119cfc 100644 --- a/charts/kserve-crd/templates/serving.kserve.io_clusterservingruntimes.yaml +++ b/charts/kserve-crd/templates/serving.kserve.io_clusterservingruntimes.yaml @@ -1132,6 +1132,10 @@ spec: type: boolean name: type: string + priority: + format: int32 + minimum: 1 + type: integer version: type: string required: diff --git a/charts/kserve-crd/templates/serving.kserve.io_servingruntimes.yaml b/charts/kserve-crd/templates/serving.kserve.io_servingruntimes.yaml index c6361fc7e24..41e71bd24af 100644 --- a/charts/kserve-crd/templates/serving.kserve.io_servingruntimes.yaml +++ b/charts/kserve-crd/templates/serving.kserve.io_servingruntimes.yaml @@ -1132,6 +1132,10 @@ spec: type: boolean name: type: string + priority: + format: int32 + minimum: 1 + type: integer version: type: string required: diff --git a/charts/kserve-resources/templates/clusterservingruntimes.yaml b/charts/kserve-resources/templates/clusterservingruntimes.yaml index 58881a7668b..730d22cf8b1 100644 --- a/charts/kserve-resources/templates/clusterservingruntimes.yaml +++ b/charts/kserve-resources/templates/clusterservingruntimes.yaml @@ -8,10 +8,12 @@ spec: prometheus.kserve.io/path: "/metrics" supportedModelFormats: - name: lightgbm - version: "2" + version: "3" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: "{{ .Values.kserve.servingruntime.lgbserver.image }}:{{ .Values.kserve.servingruntime.lgbserver.tag }}" @@ -42,15 +44,23 @@ spec: - name: sklearn version: "0" autoSelect: true + priority: 1 + - name: sklearn + version: "1" + autoSelect: true + priority: 2 - name: xgboost version: "1" autoSelect: true + priority: 2 - name: lightgbm version: "3" autoSelect: true + priority: 2 - name: mlflow version: "1" autoSelect: true + priority: 1 protocolVersions: - v2 containers: @@ -86,8 +96,10 @@ spec: - name: paddle version: "2" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: "{{ .Values.kserve.servingruntime.paddleserver.image }}:{{ .Values.kserve.servingruntime.paddleserver.tag }}" @@ -116,11 +128,14 @@ spec: - name: pmml version: "3" autoSelect: true + priority: 1 - name: pmml version: "4" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: "{{ .Values.kserve.servingruntime.pmmlserver.image }}:{{ .Values.kserve.servingruntime.pmmlserver.tag }}" @@ -149,8 +164,10 @@ spec: - name: sklearn version: "1" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: "{{ .Values.kserve.servingruntime.sklearnserver.image }}:{{ .Values.kserve.servingruntime.sklearnserver.tag }}" @@ -179,9 +196,11 @@ spec: - name: tensorflow version: "1" autoSelect: true + priority: 2 - name: tensorflow version: "2" autoSelect: true + priority: 2 protocolVersions: - v1 - grpc-v1 @@ -216,6 +235,7 @@ spec: - name: pytorch version: "1" autoSelect: true + priority: 2 protocolVersions: - v1 - v2 @@ -252,20 +272,25 @@ spec: - name: tensorrt version: "8" autoSelect: true + priority: 1 - name: tensorflow version: "1" autoSelect: true + priority: 1 - name: tensorflow version: "2" autoSelect: true + priority: 1 - name: onnx version: "1" autoSelect: true + priority: 1 - name: pytorch version: "1" - name: triton version: "2" autoSelect: true + priority: 1 protocolVersions: - v2 - grpc-v2 @@ -300,8 +325,10 @@ spec: - name: xgboost version: "1" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: "{{ .Values.kserve.servingruntime.xgbserver.image }}:{{ .Values.kserve.servingruntime.xgbserver.tag }}" diff --git a/charts/kserve-resources/templates/webhookconfiguration.yaml b/charts/kserve-resources/templates/webhookconfiguration.yaml index d6c13ec282f..d6c5926b63f 100644 --- a/charts/kserve-resources/templates/webhookconfiguration.yaml +++ b/charts/kserve-resources/templates/webhookconfiguration.yaml @@ -138,3 +138,61 @@ webhooks: - UPDATE resources: - inferencegraphs +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + creationTimestamp: null + name: clusterservingruntime.serving.kserve.io + annotations: + cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/serving-cert +webhooks: + - clientConfig: + caBundle: Cg== + service: + name: kserve-webhook-server-service + namespace: {{ .Release.Namespace }} + path: /validate-serving-kserve-io-v1alpha1-clusterservingruntime + failurePolicy: Fail + name: clusterservingruntime.kserve-webhook-server.validator + sideEffects: None + admissionReviewVersions: ["v1beta1"] + rules: + - apiGroups: + - serving.kserve.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - clusterservingruntimes +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + creationTimestamp: null + name: servingruntime.serving.kserve.io + annotations: + cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/serving-cert +webhooks: + - clientConfig: + caBundle: Cg== + service: + name: kserve-webhook-server-service + namespace: {{ .Release.Namespace }} + path: /validate-serving-kserve-io-v1alpha1-servingruntime + failurePolicy: Fail + name: servingruntime.kserve-webhook-server.validator + sideEffects: None + admissionReviewVersions: ["v1beta1"] + rules: + - apiGroups: + - serving.kserve.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - servingruntimes diff --git a/cmd/agent/main.go b/cmd/agent/main.go index 34322ce2f4b..98d78dcd9b9 100644 --- a/cmd/agent/main.go +++ b/cmd/agent/main.go @@ -1,3 +1,19 @@ +/* +Copyright 2023 The KServe Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + package main import ( diff --git a/cmd/manager/main.go b/cmd/manager/main.go index 5da5bc380af..3e86b0d9706 100644 --- a/cmd/manager/main.go +++ b/cmd/manager/main.go @@ -1,4 +1,5 @@ /* +Copyright 2023 The KServe Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -27,6 +28,7 @@ import ( "github.com/kserve/kserve/pkg/controller/v1alpha1/trainedmodel/reconcilers/modelconfig" v1beta1controller "github.com/kserve/kserve/pkg/controller/v1beta1/inferenceservice" "github.com/kserve/kserve/pkg/webhook/admission/pod" + "github.com/kserve/kserve/pkg/webhook/admission/servingruntime" istio_networking "istio.io/api/networking/v1alpha3" "istio.io/client-go/pkg/apis/networking/v1alpha3" v1 "k8s.io/api/core/v1" @@ -220,6 +222,12 @@ func main() { log.Info("registering webhooks to the webhook server") hookServer.Register("/mutate-pods", &webhook.Admission{Handler: &pod.Mutator{}}) + log.Info("registering cluster serving runtime validator webhook to the webhook server") + hookServer.Register("/validate-serving-kserve-io-v1alpha1-clusterservingruntime", &webhook.Admission{Handler: &servingruntime.ClusterServingRuntimeValidator{}}) + + log.Info("registering serving runtime validator webhook to the webhook server") + hookServer.Register("/validate-serving-kserve-io-v1alpha1-servingruntime", &webhook.Admission{Handler: &servingruntime.ServingRuntimeValidator{}}) + if err = ctrl.NewWebhookManagedBy(mgr). For(&v1alpha1.TrainedModel{}). Complete(); err != nil { diff --git a/cmd/manager/main_test.go b/cmd/manager/main_test.go index da784ab41fc..829077ac7a8 100644 --- a/cmd/manager/main_test.go +++ b/cmd/manager/main_test.go @@ -1,3 +1,19 @@ +/* +Copyright 2023 The KServe Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + package main import ( diff --git a/cmd/router/main_test.go b/cmd/router/main_test.go index ee9aa0488bc..b5b99939cb8 100644 --- a/cmd/router/main_test.go +++ b/cmd/router/main_test.go @@ -1,3 +1,19 @@ +/* +Copyright 2023 The KServe Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + package main import ( diff --git a/cmd/spec-gen/main.go b/cmd/spec-gen/main.go index f43a98d2ae2..3310bf65a46 100644 --- a/cmd/spec-gen/main.go +++ b/cmd/spec-gen/main.go @@ -1,4 +1,5 @@ /* +Copyright 2023 The KServe Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/config/crd/serving.kserve.io_clusterservingruntimes.yaml b/config/crd/serving.kserve.io_clusterservingruntimes.yaml index 0847b34194d..ce243119cfc 100644 --- a/config/crd/serving.kserve.io_clusterservingruntimes.yaml +++ b/config/crd/serving.kserve.io_clusterservingruntimes.yaml @@ -1132,6 +1132,10 @@ spec: type: boolean name: type: string + priority: + format: int32 + minimum: 1 + type: integer version: type: string required: diff --git a/config/crd/serving.kserve.io_servingruntimes.yaml b/config/crd/serving.kserve.io_servingruntimes.yaml index c6361fc7e24..41e71bd24af 100644 --- a/config/crd/serving.kserve.io_servingruntimes.yaml +++ b/config/crd/serving.kserve.io_servingruntimes.yaml @@ -1132,6 +1132,10 @@ spec: type: boolean name: type: string + priority: + format: int32 + minimum: 1 + type: integer version: type: string required: diff --git a/config/default/clusterservingruntime_validatingwebhook_cainjection_patch.yaml b/config/default/clusterservingruntime_validatingwebhook_cainjection_patch.yaml new file mode 100644 index 00000000000..9967fe4380a --- /dev/null +++ b/config/default/clusterservingruntime_validatingwebhook_cainjection_patch.yaml @@ -0,0 +1,8 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + name: clusterservingruntime.serving.kserve.io + annotations: + cert-manager.io/inject-ca-from: $(kserveNamespace)/serving-cert +webhooks: + - name: clusterservingruntime.kserve-webhook-server.validator diff --git a/config/default/trainedmodel_mutatingwebhook_cainjection_patch.yaml b/config/default/inferencegraph_validatingwebhook_cainjection_patch.yaml similarity index 100% rename from config/default/trainedmodel_mutatingwebhook_cainjection_patch.yaml rename to config/default/inferencegraph_validatingwebhook_cainjection_patch.yaml diff --git a/config/default/kustomization.yaml b/config/default/kustomization.yaml index d2994225e85..50ade3e1d95 100644 --- a/config/default/kustomization.yaml +++ b/config/default/kustomization.yaml @@ -51,6 +51,16 @@ replacements: name: inferencegraph.serving.kserve.io fieldPaths: - webhooks.*.clientConfig.service.name + - select: + kind: ValidatingWebhookConfiguration + name: clusterservingruntime.serving.kserve.io + fieldPaths: + - webhooks.*.clientConfig.service.name + - select: + kind: ValidatingWebhookConfiguration + name: servingruntime.serving.kserve.io + fieldPaths: + - webhooks.*.clientConfig.service.name - select: kind: Certificate name: serving-cert @@ -94,6 +104,16 @@ replacements: name: inferencegraph.serving.kserve.io fieldPaths: - webhooks.*.clientConfig.service.namespace + - select: + kind: ValidatingWebhookConfiguration + name: clusterservingruntime.serving.kserve.io + fieldPaths: + - webhooks.*.clientConfig.service.namespace + - select: + kind: ValidatingWebhookConfiguration + name: servingruntime.serving.kserve.io + fieldPaths: + - webhooks.*.clientConfig.service.namespace - select: kind: Certificate name: serving-cert @@ -144,6 +164,22 @@ replacements: options: delimiter: '/' index: 0 + - select: + kind: ValidatingWebhookConfiguration + name: clusterservingruntime.serving.kserve.io + fieldPaths: + - metadata.annotations.[cert-manager.io/inject-ca-from] + options: + delimiter: '/' + index: 0 + - select: + kind: ValidatingWebhookConfiguration + name: servingruntime.serving.kserve.io + fieldPaths: + - metadata.annotations.[cert-manager.io/inject-ca-from] + options: + delimiter: '/' + index: 0 # Protect the /metrics endpoint by putting it behind auth. # Only one of manager_auth_proxy_patch.yaml and @@ -159,8 +195,10 @@ patches: - path: manager_auth_proxy_patch.yaml - path: isvc_mutatingwebhook_cainjection_patch.yaml - path: isvc_validatingwebhook_cainjection_patch.yaml -- path: trainedmodel_mutatingwebhook_cainjection_patch.yaml +- path: inferencegraph_validatingwebhook_cainjection_patch.yaml - path: trainedmodel_validatingwebhook_cainjection_patch.yaml +- path: clusterservingruntime_validatingwebhook_cainjection_patch.yaml +- path: servingruntime_validationwebhook_cainjection_patch.yaml - path: manager_resources_patch.yaml - path: inferenceservice_conversion_webhook.yaml - path: cainjection_conversion_webhook.yaml diff --git a/config/default/servingruntime_validationwebhook_cainjection_patch.yaml b/config/default/servingruntime_validationwebhook_cainjection_patch.yaml new file mode 100644 index 00000000000..ac87c8516b3 --- /dev/null +++ b/config/default/servingruntime_validationwebhook_cainjection_patch.yaml @@ -0,0 +1,8 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + name: servingruntime.serving.kserve.io + annotations: + cert-manager.io/inject-ca-from: $(kserveNamespace)/serving-cert +webhooks: + - name: servingruntime.kserve-webhook-server.validator diff --git a/config/runtimes/kserve-lgbserver.yaml b/config/runtimes/kserve-lgbserver.yaml index a587f087b4d..bace0b6800e 100644 --- a/config/runtimes/kserve-lgbserver.yaml +++ b/config/runtimes/kserve-lgbserver.yaml @@ -10,8 +10,10 @@ spec: - name: lightgbm version: "3" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: kserve-lgbserver:replace diff --git a/config/runtimes/kserve-mlserver.yaml b/config/runtimes/kserve-mlserver.yaml index 550f2ab0987..8b350ec67bc 100644 --- a/config/runtimes/kserve-mlserver.yaml +++ b/config/runtimes/kserve-mlserver.yaml @@ -11,15 +11,23 @@ spec: - name: sklearn version: "0" autoSelect: true + priority: 1 + - name: sklearn + version: "1" + autoSelect: true + priority: 2 - name: xgboost version: "1" autoSelect: true + priority: 2 - name: lightgbm version: "3" autoSelect: true + priority: 2 - name: mlflow version: "1" autoSelect: true + priority: 1 protocolVersions: - v2 containers: diff --git a/config/runtimes/kserve-paddleserver.yaml b/config/runtimes/kserve-paddleserver.yaml index 56f53eba6d4..925f2ee1052 100644 --- a/config/runtimes/kserve-paddleserver.yaml +++ b/config/runtimes/kserve-paddleserver.yaml @@ -10,8 +10,10 @@ spec: - name: paddle version: "2" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: kserve-paddleserver:replace diff --git a/config/runtimes/kserve-pmmlserver.yaml b/config/runtimes/kserve-pmmlserver.yaml index 66cfa81d15b..ca949ec08a5 100644 --- a/config/runtimes/kserve-pmmlserver.yaml +++ b/config/runtimes/kserve-pmmlserver.yaml @@ -10,11 +10,14 @@ spec: - name: pmml version: "3" autoSelect: true + priority: 1 - name: pmml version: "4" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: kserve-pmmlserver:replace diff --git a/config/runtimes/kserve-sklearnserver.yaml b/config/runtimes/kserve-sklearnserver.yaml index 81f9f9e6022..cb52c2c507b 100644 --- a/config/runtimes/kserve-sklearnserver.yaml +++ b/config/runtimes/kserve-sklearnserver.yaml @@ -10,8 +10,10 @@ spec: - name: sklearn version: "1" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: kserve-sklearnserver:replace diff --git a/config/runtimes/kserve-tensorflow-serving.yaml b/config/runtimes/kserve-tensorflow-serving.yaml index e295d539724..1975e6c3c4f 100644 --- a/config/runtimes/kserve-tensorflow-serving.yaml +++ b/config/runtimes/kserve-tensorflow-serving.yaml @@ -10,9 +10,11 @@ spec: - name: tensorflow version: "1" autoSelect: true + priority: 2 - name: tensorflow version: "2" autoSelect: true + priority: 2 protocolVersions: - v1 - grpc-v1 diff --git a/config/runtimes/kserve-torchserve.yaml b/config/runtimes/kserve-torchserve.yaml index f2edd0e35d0..59f59af53ee 100644 --- a/config/runtimes/kserve-torchserve.yaml +++ b/config/runtimes/kserve-torchserve.yaml @@ -10,6 +10,7 @@ spec: - name: pytorch version: "1" autoSelect: true + priority: 2 protocolVersions: - v1 - v2 diff --git a/config/runtimes/kserve-tritonserver.yaml b/config/runtimes/kserve-tritonserver.yaml index 52eb3ae4f1b..c3f8c5bc78d 100644 --- a/config/runtimes/kserve-tritonserver.yaml +++ b/config/runtimes/kserve-tritonserver.yaml @@ -10,20 +10,25 @@ spec: - name: tensorrt version: "8" autoSelect: true + priority: 1 - name: tensorflow version: "1" autoSelect: true + priority: 1 - name: tensorflow version: "2" autoSelect: true + priority: 1 - name: onnx version: "1" autoSelect: true + priority: 1 - name: pytorch version: "1" - name: triton version: "2" autoSelect: true + priority: 1 protocolVersions: - v2 - grpc-v2 diff --git a/config/runtimes/kserve-xgbserver.yaml b/config/runtimes/kserve-xgbserver.yaml index 88f23c856c2..29a60c4ac67 100644 --- a/config/runtimes/kserve-xgbserver.yaml +++ b/config/runtimes/kserve-xgbserver.yaml @@ -10,8 +10,10 @@ spec: - name: xgboost version: "1" autoSelect: true + priority: 1 protocolVersions: - v1 + - v2 containers: - name: kserve-container image: kserve-xgbserver:replace diff --git a/config/webhook/manifests.yaml b/config/webhook/manifests.yaml index 84fa4f7ecf1..37baf57812a 100644 --- a/config/webhook/manifests.yaml +++ b/config/webhook/manifests.yaml @@ -135,3 +135,57 @@ webhooks: - UPDATE resources: - inferencegraphs +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + creationTimestamp: null + name: clusterservingruntime.serving.kserve.io +webhooks: + - clientConfig: + caBundle: Cg== + service: + name: $(webhookServiceName) + namespace: $(kserveNamespace) + path: /validate-serving-kserve-io-v1alpha1-clusterservingruntime + failurePolicy: Fail + name: clusterservingruntime.kserve-webhook-server.validator + sideEffects: None + admissionReviewVersions: ["v1beta1"] + rules: + - apiGroups: + - serving.kserve.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - clusterservingruntimes +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + creationTimestamp: null + name: servingruntime.serving.kserve.io +webhooks: + - clientConfig: + caBundle: Cg== + service: + name: $(webhookServiceName) + namespace: $(kserveNamespace) + path: /validate-serving-kserve-io-v1alpha1-servingruntime + failurePolicy: Fail + name: servingruntime.kserve-webhook-server.validator + sideEffects: None + admissionReviewVersions: ["v1beta1"] + rules: + - apiGroups: + - serving.kserve.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - servingruntimes diff --git a/hack/boilerplate.sh b/hack/boilerplate.sh index cc3edbc1df2..b52bd67a7a1 100755 --- a/hack/boilerplate.sh +++ b/hack/boilerplate.sh @@ -1,17 +1,33 @@ #!/bin/bash -for i in $(find ./pkg -name '*.go') # or whatever other pattern... +# Copyright 2023 The Kubeflow Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This script adds copyright to the python and go files. + +while IFS= read -r -d '' file do - if ! grep -q Copyright $i - then - cat hack/boilerplate.go.txt $i >$i.new && mv $i.new $i - fi -done + if ! grep -q Copyright "$file" + then + cat hack/boilerplate.go.txt "$file" > "$file".new && mv "$file".new "$file" + fi +done < <(find ./pkg ./cmd -name '*.go' -print0) -for i in $(find ./python -name '*.py') # or whatever other pattern... +while IFS= read -r -d '' file do - if ! grep -q Copyright $i - then - cat hack/boilerplate.python.txt $i >$i.new && mv $i.new $i - fi -done + if ! grep -q Copyright "$file" + then + cat hack/boilerplate.python.txt "$file" > "$file".new && mv "$file".new "$file" + fi +done < <(find ./python -name '*.py' -print0) diff --git a/hack/python-sdk/client-gen.sh b/hack/python-sdk/client-gen.sh index 71ef50eb03d..88543f6a9b1 100755 --- a/hack/python-sdk/client-gen.sh +++ b/hack/python-sdk/client-gen.sh @@ -34,11 +34,11 @@ fi echo "Generating Python SDK for KServe ..." java -jar ${SWAGGER_CODEGEN_JAR} generate -i ${SWAGGER_CODEGEN_FILE} -g python -o ${SDK_OUTPUT_PATH} -c ${SWAGGER_CODEGEN_CONF} -# revert following files since they are diveraged from generated ones +# revert following files since they are diverged from generated ones git checkout python/kserve/README.md git checkout python/kserve/kserve/__init__.py -# git checkout python/kserve/setup.py -# git checkout python/kserve/requirements.txt +git clean -f python/kserve/setup.py +git clean -f python/kserve/requirements.txt # Update kubernetes docs link. K8S_IMPORT_LIST=`cat hack/python-sdk/swagger_config.json|grep "V1" | awk -F"\"" '{print $2}'` diff --git a/pkg/apis/serving/v1alpha1/servingruntime_types.go b/pkg/apis/serving/v1alpha1/servingruntime_types.go index aa78ae1e63d..6a1199c4595 100644 --- a/pkg/apis/serving/v1alpha1/servingruntime_types.go +++ b/pkg/apis/serving/v1alpha1/servingruntime_types.go @@ -36,6 +36,16 @@ type SupportedModelFormat struct { // this model format is specified with no explicit runtime. // +optional AutoSelect *bool `json:"autoSelect,omitempty"` + + // +kubebuilder:validation:Minimum=1 + + // Priority of this serving runtime for auto selection. + // This is used to select the serving runtime if more than one serving runtime supports the same model format. + // The value should be greater than zero. The higher the value, the higher the priority. + // Priority is not considered if AutoSelect is either false or not specified. + // Priority can be overridden by specifying the runtime in the InferenceService. + // +optional + Priority *int32 `json:"priority,omitempty"` } // +k8s:openapi-gen=true @@ -266,3 +276,17 @@ func (srSpec *ServingRuntimeSpec) IsProtocolVersionSupported(modelProtocolVersio } return false } + +// GetPriority returns the priority of the specified model. It returns nil if priority is not set or the model is not found. +func (srSpec *ServingRuntimeSpec) GetPriority(modelName string) *int32 { + for _, model := range srSpec.SupportedModelFormats { + if model.Name == modelName { + return model.Priority + } + } + return nil +} + +func (m *SupportedModelFormat) IsAutoSelectEnabled() bool { + return m.AutoSelect != nil && *m.AutoSelect +} diff --git a/pkg/apis/serving/v1alpha1/servingruntime_types_test.go b/pkg/apis/serving/v1alpha1/servingruntime_types_test.go index ff7b7e1c8a2..55e35fac2ee 100644 --- a/pkg/apis/serving/v1alpha1/servingruntime_types_test.go +++ b/pkg/apis/serving/v1alpha1/servingruntime_types_test.go @@ -20,6 +20,7 @@ import ( "fmt" "github.com/golang/protobuf/proto" "github.com/kserve/kserve/pkg/constants" + "github.com/onsi/gomega" "testing" v1 "k8s.io/api/core/v1" @@ -451,3 +452,194 @@ func TestServingRuntimeSpec_IsProtocolVersionSupported(t *testing.T) { }) } } + +func TestServingRuntimeSpec_GetPriority(t *testing.T) { + endpoint := "endpoint" + version := "1.0" + + scenarios := map[string]struct { + spec ServingRuntimeSpec + modelFormatName string + expected gomega.OmegaMatcher + }{ + "Priority is provided": { + spec: ServingRuntimeSpec{ + GrpcDataEndpoint: &endpoint, + ServingRuntimePodSpec: ServingRuntimePodSpec{ + Containers: []v1.Container{ + { + Args: []string{"arg1", "arg2"}, + Command: []string{"command", "command2"}, + Env: []v1.EnvVar{ + {Name: "name", Value: "value"}, + { + Name: "fromSecret", + ValueFrom: &v1.EnvVarSource{ + SecretKeyRef: &v1.SecretKeySelector{Key: "mykey"}, + }, + }, + }, + Image: "image", + Name: "name", + ImagePullPolicy: "IfNotPresent", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{ + v1.ResourceMemory: resource.MustParse("200Mi"), + }, + }, + }, + }, + }, + SupportedModelFormats: []SupportedModelFormat{ + { + Name: "sklearn", + Version: &version, + Priority: proto.Int32(1), + }, + { + Name: "pytorch", + Version: &version, + Priority: proto.Int32(2), + }, + }, + }, + modelFormatName: "pytorch", + expected: gomega.Equal(proto.Int32(2)), + }, + "Priority is not provided": { + spec: ServingRuntimeSpec{ + GrpcDataEndpoint: &endpoint, + ServingRuntimePodSpec: ServingRuntimePodSpec{ + Containers: []v1.Container{ + { + Args: []string{"arg1", "arg2"}, + Command: []string{"command", "command2"}, + Env: []v1.EnvVar{ + {Name: "name", Value: "value"}, + { + Name: "fromSecret", + ValueFrom: &v1.EnvVarSource{ + SecretKeyRef: &v1.SecretKeySelector{Key: "mykey"}, + }, + }, + }, + Image: "image", + Name: "name", + ImagePullPolicy: "IfNotPresent", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{ + v1.ResourceMemory: resource.MustParse("200Mi"), + }, + }, + }, + }, + }, + SupportedModelFormats: []SupportedModelFormat{ + { + Name: "sklearn", + Version: &version, + }, + { + Name: "pytorch", + Version: &version, + Priority: proto.Int32(2), + }, + }, + }, + modelFormatName: "sklearn", + expected: gomega.BeNil(), + }, + "If provided model format does not exist": { + spec: ServingRuntimeSpec{ + GrpcDataEndpoint: &endpoint, + ServingRuntimePodSpec: ServingRuntimePodSpec{ + Containers: []v1.Container{ + { + Args: []string{"arg1", "arg2"}, + Command: []string{"command", "command2"}, + Env: []v1.EnvVar{ + {Name: "name", Value: "value"}, + { + Name: "fromSecret", + ValueFrom: &v1.EnvVarSource{ + SecretKeyRef: &v1.SecretKeySelector{Key: "mykey"}, + }, + }, + }, + Image: "image", + Name: "name", + ImagePullPolicy: "IfNotPresent", + Resources: v1.ResourceRequirements{ + Limits: v1.ResourceList{ + v1.ResourceMemory: resource.MustParse("200Mi"), + }, + }, + }, + }, + }, + SupportedModelFormats: []SupportedModelFormat{ + { + Name: "sklearn", + Version: &version, + Priority: proto.Int32(1), + }, + { + Name: "pytorch", + Version: &version, + Priority: proto.Int32(2), + }, + }, + }, + modelFormatName: "lightgbm", + expected: gomega.BeNil(), + }, + } + for name, scenario := range scenarios { + t.Run(name, func(t *testing.T) { + g := gomega.NewGomegaWithT(t) + res := scenario.spec.GetPriority(scenario.modelFormatName) + g.Expect(res).To(scenario.expected) + }) + } +} + +func TestSupportedModelFormat_IsAutoSelectEnabled(t *testing.T) { + version := "1.0" + + scenarios := map[string]struct { + modelFormat SupportedModelFormat + res bool + }{ + "default behaviour": { + modelFormat: SupportedModelFormat{ + Name: "name", + Version: &version, + }, + res: false, + }, + "autoselect is set to true": { + modelFormat: SupportedModelFormat{ + Name: "name", + Version: &version, + AutoSelect: proto.Bool(true), + }, + res: true, + }, + "autoselect is set to false": { + modelFormat: SupportedModelFormat{ + Name: "name", + Version: &version, + AutoSelect: proto.Bool(false), + }, + res: false, + }, + } + for name, scenario := range scenarios { + t.Run(name, func(t *testing.T) { + res := scenario.modelFormat.IsAutoSelectEnabled() + if res != scenario.res { + fmt.Println(fmt.Errorf("Expected %t, got %t", scenario.res, res)) + } + }) + } +} diff --git a/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go index c7421b9972d..e1b078609c8 100644 --- a/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go @@ -613,6 +613,11 @@ func (in *SupportedModelFormat) DeepCopyInto(out *SupportedModelFormat) { *out = new(bool) **out = **in } + if in.Priority != nil { + in, out := &in.Priority, &out.Priority + *out = new(int32) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SupportedModelFormat. diff --git a/pkg/apis/serving/v1beta1/openapi_generated.go b/pkg/apis/serving/v1beta1/openapi_generated.go index 8aae5fec4f7..12b2779c90f 100644 --- a/pkg/apis/serving/v1beta1/openapi_generated.go +++ b/pkg/apis/serving/v1beta1/openapi_generated.go @@ -30,67 +30,67 @@ import ( func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition { return map[string]common.OpenAPIDefinition{ - "./pkg/apis/serving/v1alpha1.BuiltInAdapter": schema_pkg_apis_serving_v1alpha1_BuiltInAdapter(ref), - "./pkg/apis/serving/v1alpha1.ClusterServingRuntime": schema_pkg_apis_serving_v1alpha1_ClusterServingRuntime(ref), - "./pkg/apis/serving/v1alpha1.ClusterServingRuntimeList": schema_pkg_apis_serving_v1alpha1_ClusterServingRuntimeList(ref), - "./pkg/apis/serving/v1alpha1.InferenceGraph": schema_pkg_apis_serving_v1alpha1_InferenceGraph(ref), - "./pkg/apis/serving/v1alpha1.InferenceGraphList": schema_pkg_apis_serving_v1alpha1_InferenceGraphList(ref), - "./pkg/apis/serving/v1alpha1.InferenceGraphSpec": schema_pkg_apis_serving_v1alpha1_InferenceGraphSpec(ref), - "./pkg/apis/serving/v1alpha1.InferenceGraphStatus": schema_pkg_apis_serving_v1alpha1_InferenceGraphStatus(ref), - "./pkg/apis/serving/v1alpha1.InferenceRouter": schema_pkg_apis_serving_v1alpha1_InferenceRouter(ref), - "./pkg/apis/serving/v1alpha1.InferenceStep": schema_pkg_apis_serving_v1alpha1_InferenceStep(ref), - "./pkg/apis/serving/v1alpha1.InferenceTarget": schema_pkg_apis_serving_v1alpha1_InferenceTarget(ref), - "./pkg/apis/serving/v1alpha1.ModelSpec": schema_pkg_apis_serving_v1alpha1_ModelSpec(ref), - "./pkg/apis/serving/v1alpha1.ServingRuntime": schema_pkg_apis_serving_v1alpha1_ServingRuntime(ref), - "./pkg/apis/serving/v1alpha1.ServingRuntimeList": schema_pkg_apis_serving_v1alpha1_ServingRuntimeList(ref), - "./pkg/apis/serving/v1alpha1.ServingRuntimePodSpec": schema_pkg_apis_serving_v1alpha1_ServingRuntimePodSpec(ref), - "./pkg/apis/serving/v1alpha1.ServingRuntimeSpec": schema_pkg_apis_serving_v1alpha1_ServingRuntimeSpec(ref), - "./pkg/apis/serving/v1alpha1.ServingRuntimeStatus": schema_pkg_apis_serving_v1alpha1_ServingRuntimeStatus(ref), - "./pkg/apis/serving/v1alpha1.StorageHelper": schema_pkg_apis_serving_v1alpha1_StorageHelper(ref), - "./pkg/apis/serving/v1alpha1.SupportedModelFormat": schema_pkg_apis_serving_v1alpha1_SupportedModelFormat(ref), - "./pkg/apis/serving/v1alpha1.TrainedModel": schema_pkg_apis_serving_v1alpha1_TrainedModel(ref), - "./pkg/apis/serving/v1alpha1.TrainedModelList": schema_pkg_apis_serving_v1alpha1_TrainedModelList(ref), - "./pkg/apis/serving/v1alpha1.TrainedModelSpec": schema_pkg_apis_serving_v1alpha1_TrainedModelSpec(ref), - "./pkg/apis/serving/v1beta1.ARTExplainerSpec": schema_pkg_apis_serving_v1beta1_ARTExplainerSpec(ref), - "./pkg/apis/serving/v1beta1.AlibiExplainerSpec": schema_pkg_apis_serving_v1beta1_AlibiExplainerSpec(ref), - "./pkg/apis/serving/v1beta1.Batcher": schema_pkg_apis_serving_v1beta1_Batcher(ref), - "./pkg/apis/serving/v1beta1.ComponentExtensionSpec": schema_pkg_apis_serving_v1beta1_ComponentExtensionSpec(ref), - "./pkg/apis/serving/v1beta1.ComponentStatusSpec": schema_pkg_apis_serving_v1beta1_ComponentStatusSpec(ref), - "./pkg/apis/serving/v1beta1.CustomExplainer": schema_pkg_apis_serving_v1beta1_CustomExplainer(ref), - "./pkg/apis/serving/v1beta1.CustomPredictor": schema_pkg_apis_serving_v1beta1_CustomPredictor(ref), - "./pkg/apis/serving/v1beta1.CustomTransformer": schema_pkg_apis_serving_v1beta1_CustomTransformer(ref), - "./pkg/apis/serving/v1beta1.DeployConfig": schema_pkg_apis_serving_v1beta1_DeployConfig(ref), - "./pkg/apis/serving/v1beta1.ExplainerConfig": schema_pkg_apis_serving_v1beta1_ExplainerConfig(ref), - "./pkg/apis/serving/v1beta1.ExplainerExtensionSpec": schema_pkg_apis_serving_v1beta1_ExplainerExtensionSpec(ref), - "./pkg/apis/serving/v1beta1.ExplainerSpec": schema_pkg_apis_serving_v1beta1_ExplainerSpec(ref), - "./pkg/apis/serving/v1beta1.ExplainersConfig": schema_pkg_apis_serving_v1beta1_ExplainersConfig(ref), - "./pkg/apis/serving/v1beta1.FailureInfo": schema_pkg_apis_serving_v1beta1_FailureInfo(ref), - "./pkg/apis/serving/v1beta1.InferenceService": schema_pkg_apis_serving_v1beta1_InferenceService(ref), - "./pkg/apis/serving/v1beta1.InferenceServiceList": schema_pkg_apis_serving_v1beta1_InferenceServiceList(ref), - "./pkg/apis/serving/v1beta1.InferenceServiceSpec": schema_pkg_apis_serving_v1beta1_InferenceServiceSpec(ref), - "./pkg/apis/serving/v1beta1.InferenceServiceStatus": schema_pkg_apis_serving_v1beta1_InferenceServiceStatus(ref), - "./pkg/apis/serving/v1beta1.InferenceServicesConfig": schema_pkg_apis_serving_v1beta1_InferenceServicesConfig(ref), - "./pkg/apis/serving/v1beta1.IngressConfig": schema_pkg_apis_serving_v1beta1_IngressConfig(ref), - "./pkg/apis/serving/v1beta1.LightGBMSpec": schema_pkg_apis_serving_v1beta1_LightGBMSpec(ref), - "./pkg/apis/serving/v1beta1.LoggerSpec": schema_pkg_apis_serving_v1beta1_LoggerSpec(ref), - "./pkg/apis/serving/v1beta1.ModelCopies": schema_pkg_apis_serving_v1beta1_ModelCopies(ref), - "./pkg/apis/serving/v1beta1.ModelFormat": schema_pkg_apis_serving_v1beta1_ModelFormat(ref), - "./pkg/apis/serving/v1beta1.ModelRevisionStates": schema_pkg_apis_serving_v1beta1_ModelRevisionStates(ref), - "./pkg/apis/serving/v1beta1.ModelSpec": schema_pkg_apis_serving_v1beta1_ModelSpec(ref), - "./pkg/apis/serving/v1beta1.ModelStatus": schema_pkg_apis_serving_v1beta1_ModelStatus(ref), - "./pkg/apis/serving/v1beta1.ONNXRuntimeSpec": schema_pkg_apis_serving_v1beta1_ONNXRuntimeSpec(ref), - "./pkg/apis/serving/v1beta1.PMMLSpec": schema_pkg_apis_serving_v1beta1_PMMLSpec(ref), - "./pkg/apis/serving/v1beta1.PaddleServerSpec": schema_pkg_apis_serving_v1beta1_PaddleServerSpec(ref), - "./pkg/apis/serving/v1beta1.PodSpec": schema_pkg_apis_serving_v1beta1_PodSpec(ref), - "./pkg/apis/serving/v1beta1.PredictorExtensionSpec": schema_pkg_apis_serving_v1beta1_PredictorExtensionSpec(ref), - "./pkg/apis/serving/v1beta1.PredictorSpec": schema_pkg_apis_serving_v1beta1_PredictorSpec(ref), - "./pkg/apis/serving/v1beta1.SKLearnSpec": schema_pkg_apis_serving_v1beta1_SKLearnSpec(ref), - "./pkg/apis/serving/v1beta1.StorageSpec": schema_pkg_apis_serving_v1beta1_StorageSpec(ref), - "./pkg/apis/serving/v1beta1.TFServingSpec": schema_pkg_apis_serving_v1beta1_TFServingSpec(ref), - "./pkg/apis/serving/v1beta1.TorchServeSpec": schema_pkg_apis_serving_v1beta1_TorchServeSpec(ref), - "./pkg/apis/serving/v1beta1.TransformerSpec": schema_pkg_apis_serving_v1beta1_TransformerSpec(ref), - "./pkg/apis/serving/v1beta1.TritonSpec": schema_pkg_apis_serving_v1beta1_TritonSpec(ref), - "./pkg/apis/serving/v1beta1.XGBoostSpec": schema_pkg_apis_serving_v1beta1_XGBoostSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.BuiltInAdapter": schema_pkg_apis_serving_v1alpha1_BuiltInAdapter(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ClusterServingRuntime": schema_pkg_apis_serving_v1alpha1_ClusterServingRuntime(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ClusterServingRuntimeList": schema_pkg_apis_serving_v1alpha1_ClusterServingRuntimeList(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraph": schema_pkg_apis_serving_v1alpha1_InferenceGraph(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraphList": schema_pkg_apis_serving_v1alpha1_InferenceGraphList(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraphSpec": schema_pkg_apis_serving_v1alpha1_InferenceGraphSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraphStatus": schema_pkg_apis_serving_v1alpha1_InferenceGraphStatus(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceRouter": schema_pkg_apis_serving_v1alpha1_InferenceRouter(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceStep": schema_pkg_apis_serving_v1alpha1_InferenceStep(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceTarget": schema_pkg_apis_serving_v1alpha1_InferenceTarget(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ModelSpec": schema_pkg_apis_serving_v1alpha1_ModelSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntime": schema_pkg_apis_serving_v1alpha1_ServingRuntime(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeList": schema_pkg_apis_serving_v1alpha1_ServingRuntimeList(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimePodSpec": schema_pkg_apis_serving_v1alpha1_ServingRuntimePodSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeSpec": schema_pkg_apis_serving_v1alpha1_ServingRuntimeSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeStatus": schema_pkg_apis_serving_v1alpha1_ServingRuntimeStatus(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.StorageHelper": schema_pkg_apis_serving_v1alpha1_StorageHelper(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.SupportedModelFormat": schema_pkg_apis_serving_v1alpha1_SupportedModelFormat(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModel": schema_pkg_apis_serving_v1alpha1_TrainedModel(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModelList": schema_pkg_apis_serving_v1alpha1_TrainedModelList(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModelSpec": schema_pkg_apis_serving_v1alpha1_TrainedModelSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ARTExplainerSpec": schema_pkg_apis_serving_v1beta1_ARTExplainerSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.AlibiExplainerSpec": schema_pkg_apis_serving_v1beta1_AlibiExplainerSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher": schema_pkg_apis_serving_v1beta1_Batcher(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ComponentExtensionSpec": schema_pkg_apis_serving_v1beta1_ComponentExtensionSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ComponentStatusSpec": schema_pkg_apis_serving_v1beta1_ComponentStatusSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.CustomExplainer": schema_pkg_apis_serving_v1beta1_CustomExplainer(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.CustomPredictor": schema_pkg_apis_serving_v1beta1_CustomPredictor(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.CustomTransformer": schema_pkg_apis_serving_v1beta1_CustomTransformer(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.DeployConfig": schema_pkg_apis_serving_v1beta1_DeployConfig(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerConfig": schema_pkg_apis_serving_v1beta1_ExplainerConfig(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerExtensionSpec": schema_pkg_apis_serving_v1beta1_ExplainerExtensionSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerSpec": schema_pkg_apis_serving_v1beta1_ExplainerSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainersConfig": schema_pkg_apis_serving_v1beta1_ExplainersConfig(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.FailureInfo": schema_pkg_apis_serving_v1beta1_FailureInfo(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceService": schema_pkg_apis_serving_v1beta1_InferenceService(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServiceList": schema_pkg_apis_serving_v1beta1_InferenceServiceList(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServiceSpec": schema_pkg_apis_serving_v1beta1_InferenceServiceSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServiceStatus": schema_pkg_apis_serving_v1beta1_InferenceServiceStatus(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServicesConfig": schema_pkg_apis_serving_v1beta1_InferenceServicesConfig(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.IngressConfig": schema_pkg_apis_serving_v1beta1_IngressConfig(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.LightGBMSpec": schema_pkg_apis_serving_v1beta1_LightGBMSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec": schema_pkg_apis_serving_v1beta1_LoggerSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelCopies": schema_pkg_apis_serving_v1beta1_ModelCopies(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelFormat": schema_pkg_apis_serving_v1beta1_ModelFormat(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelRevisionStates": schema_pkg_apis_serving_v1beta1_ModelRevisionStates(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelSpec": schema_pkg_apis_serving_v1beta1_ModelSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelStatus": schema_pkg_apis_serving_v1beta1_ModelStatus(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ONNXRuntimeSpec": schema_pkg_apis_serving_v1beta1_ONNXRuntimeSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PMMLSpec": schema_pkg_apis_serving_v1beta1_PMMLSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PaddleServerSpec": schema_pkg_apis_serving_v1beta1_PaddleServerSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PodSpec": schema_pkg_apis_serving_v1beta1_PodSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PredictorExtensionSpec": schema_pkg_apis_serving_v1beta1_PredictorExtensionSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PredictorSpec": schema_pkg_apis_serving_v1beta1_PredictorSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.SKLearnSpec": schema_pkg_apis_serving_v1beta1_SKLearnSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec": schema_pkg_apis_serving_v1beta1_StorageSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TFServingSpec": schema_pkg_apis_serving_v1beta1_TFServingSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TorchServeSpec": schema_pkg_apis_serving_v1beta1_TorchServeSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TransformerSpec": schema_pkg_apis_serving_v1beta1_TransformerSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TritonSpec": schema_pkg_apis_serving_v1beta1_TritonSpec(ref), + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.XGBoostSpec": schema_pkg_apis_serving_v1beta1_XGBoostSpec(ref), } } @@ -180,20 +180,20 @@ func schema_pkg_apis_serving_v1alpha1_ClusterServingRuntime(ref common.Reference "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.ServingRuntimeSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeSpec"), }, }, "status": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.ServingRuntimeStatus"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeStatus"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.ServingRuntimeSpec", "./pkg/apis/serving/v1alpha1.ServingRuntimeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeSpec", "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, } } @@ -231,7 +231,7 @@ func schema_pkg_apis_serving_v1alpha1_ClusterServingRuntimeList(ref common.Refer Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.ClusterServingRuntime"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ClusterServingRuntime"), }, }, }, @@ -242,7 +242,7 @@ func schema_pkg_apis_serving_v1alpha1_ClusterServingRuntimeList(ref common.Refer }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.ClusterServingRuntime", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ClusterServingRuntime", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, } } @@ -276,20 +276,20 @@ func schema_pkg_apis_serving_v1alpha1_InferenceGraph(ref common.ReferenceCallbac "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.InferenceGraphSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraphSpec"), }, }, "status": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.InferenceGraphStatus"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraphStatus"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.InferenceGraphSpec", "./pkg/apis/serving/v1alpha1.InferenceGraphStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraphSpec", "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraphStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, } } @@ -332,7 +332,7 @@ func schema_pkg_apis_serving_v1alpha1_InferenceGraphList(ref common.ReferenceCal Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.InferenceGraph"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraph"), }, }, }, @@ -343,7 +343,7 @@ func schema_pkg_apis_serving_v1alpha1_InferenceGraphList(ref common.ReferenceCal }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.InferenceGraph", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceGraph", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, } } @@ -363,7 +363,7 @@ func schema_pkg_apis_serving_v1alpha1_InferenceGraphSpec(ref common.ReferenceCal Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.InferenceRouter"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceRouter"), }, }, }, @@ -385,7 +385,7 @@ func schema_pkg_apis_serving_v1alpha1_InferenceGraphSpec(ref common.ReferenceCal }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.InferenceRouter", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.ResourceRequirements"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceRouter", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.ResourceRequirements"}, } } @@ -476,7 +476,7 @@ func schema_pkg_apis_serving_v1alpha1_InferenceRouter(ref common.ReferenceCallba Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.InferenceStep"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceStep"), }, }, }, @@ -487,7 +487,7 @@ func schema_pkg_apis_serving_v1alpha1_InferenceRouter(ref common.ReferenceCallba }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.InferenceStep"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.InferenceStep"}, } } @@ -656,20 +656,20 @@ func schema_pkg_apis_serving_v1alpha1_ServingRuntime(ref common.ReferenceCallbac "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.ServingRuntimeSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeSpec"), }, }, "status": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.ServingRuntimeStatus"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeStatus"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.ServingRuntimeSpec", "./pkg/apis/serving/v1alpha1.ServingRuntimeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeSpec", "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntimeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, } } @@ -707,7 +707,7 @@ func schema_pkg_apis_serving_v1alpha1_ServingRuntimeList(ref common.ReferenceCal Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.ServingRuntime"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntime"), }, }, }, @@ -718,7 +718,7 @@ func schema_pkg_apis_serving_v1alpha1_ServingRuntimeList(ref common.ReferenceCal }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.ServingRuntime", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ServingRuntime", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, } } @@ -880,7 +880,7 @@ func schema_pkg_apis_serving_v1alpha1_ServingRuntimeSpec(ref common.ReferenceCal Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.SupportedModelFormat"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.SupportedModelFormat"), }, }, }, @@ -1074,13 +1074,13 @@ func schema_pkg_apis_serving_v1alpha1_ServingRuntimeSpec(ref common.ReferenceCal "storageHelper": { SchemaProps: spec.SchemaProps{ Description: "Configuration for this runtime's use of the storage helper (model puller) It is enabled unless explicitly disabled", - Ref: ref("./pkg/apis/serving/v1alpha1.StorageHelper"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.StorageHelper"), }, }, "builtInAdapter": { SchemaProps: spec.SchemaProps{ Description: "Provide the details about built-in runtime adapter", - Ref: ref("./pkg/apis/serving/v1alpha1.BuiltInAdapter"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.BuiltInAdapter"), }, }, }, @@ -1088,7 +1088,7 @@ func schema_pkg_apis_serving_v1alpha1_ServingRuntimeSpec(ref common.ReferenceCal }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.BuiltInAdapter", "./pkg/apis/serving/v1alpha1.StorageHelper", "./pkg/apis/serving/v1alpha1.SupportedModelFormat", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.Volume"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.BuiltInAdapter", "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.StorageHelper", "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.SupportedModelFormat", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.Volume"}, } } @@ -1149,6 +1149,13 @@ func schema_pkg_apis_serving_v1alpha1_SupportedModelFormat(ref common.ReferenceC Format: "", }, }, + "priority": { + SchemaProps: spec.SchemaProps{ + Description: "Priority of this serving runtime for auto selection. This is used to select the serving runtime if more than one serving runtime supports the same model format. The value should be greater than zero. The higher the value, the higher the priority. Priority is not considered if AutoSelect is either false or not specified. Priority can be overridden by specifying the runtime in the InferenceService.", + Type: []string{"integer"}, + Format: "int32", + }, + }, }, }, }, @@ -1185,20 +1192,20 @@ func schema_pkg_apis_serving_v1alpha1_TrainedModel(ref common.ReferenceCallback) "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.TrainedModelSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModelSpec"), }, }, "status": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.TrainedModelStatus"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModelStatus"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.TrainedModelSpec", "./pkg/apis/serving/v1alpha1.TrainedModelStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModelSpec", "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModelStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, } } @@ -1241,7 +1248,7 @@ func schema_pkg_apis_serving_v1alpha1_TrainedModelList(ref common.ReferenceCallb Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.TrainedModel"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModel"), }, }, }, @@ -1252,7 +1259,7 @@ func schema_pkg_apis_serving_v1alpha1_TrainedModelList(ref common.ReferenceCallb }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.TrainedModel", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.TrainedModel", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, } } @@ -1275,7 +1282,7 @@ func schema_pkg_apis_serving_v1alpha1_TrainedModelSpec(ref common.ReferenceCallb SchemaProps: spec.SchemaProps{ Description: "Predictor model spec", Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1alpha1.ModelSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ModelSpec"), }, }, }, @@ -1283,7 +1290,7 @@ func schema_pkg_apis_serving_v1alpha1_TrainedModelSpec(ref common.ReferenceCallb }, }, Dependencies: []string{ - "./pkg/apis/serving/v1alpha1.ModelSpec"}, + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1.ModelSpec"}, } } @@ -1565,7 +1572,7 @@ func schema_pkg_apis_serving_v1beta1_ARTExplainerSpec(ref common.ReferenceCallba "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, @@ -1573,7 +1580,7 @@ func schema_pkg_apis_serving_v1beta1_ARTExplainerSpec(ref common.ReferenceCallba }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -1855,7 +1862,7 @@ func schema_pkg_apis_serving_v1beta1_AlibiExplainerSpec(ref common.ReferenceCall "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, @@ -1863,7 +1870,7 @@ func schema_pkg_apis_serving_v1beta1_AlibiExplainerSpec(ref common.ReferenceCall }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -1960,13 +1967,13 @@ func schema_pkg_apis_serving_v1beta1_ComponentExtensionSpec(ref common.Reference "logger": { SchemaProps: spec.SchemaProps{ Description: "Activate request/response logging and logger configurations", - Ref: ref("./pkg/apis/serving/v1beta1.LoggerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec"), }, }, "batcher": { SchemaProps: spec.SchemaProps{ Description: "Activate request batching and batching configurations", - Ref: ref("./pkg/apis/serving/v1beta1.Batcher"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher"), }, }, "labels": { @@ -2005,7 +2012,7 @@ func schema_pkg_apis_serving_v1beta1_ComponentExtensionSpec(ref common.Reference }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.Batcher", "./pkg/apis/serving/v1beta1.LoggerSpec"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec"}, } } @@ -3760,14 +3767,14 @@ func schema_pkg_apis_serving_v1beta1_ExplainerExtensionSpec(ref common.Reference "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -3781,13 +3788,13 @@ func schema_pkg_apis_serving_v1beta1_ExplainerSpec(ref common.ReferenceCallback) "alibi": { SchemaProps: spec.SchemaProps{ Description: "Spec for alibi explainer", - Ref: ref("./pkg/apis/serving/v1beta1.AlibiExplainerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.AlibiExplainerSpec"), }, }, "art": { SchemaProps: spec.SchemaProps{ Description: "Spec for ART explainer", - Ref: ref("./pkg/apis/serving/v1beta1.ARTExplainerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ARTExplainerSpec"), }, }, "volumes": { @@ -4277,13 +4284,13 @@ func schema_pkg_apis_serving_v1beta1_ExplainerSpec(ref common.ReferenceCallback) "logger": { SchemaProps: spec.SchemaProps{ Description: "Activate request/response logging and logger configurations", - Ref: ref("./pkg/apis/serving/v1beta1.LoggerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec"), }, }, "batcher": { SchemaProps: spec.SchemaProps{ Description: "Activate request batching and batching configurations", - Ref: ref("./pkg/apis/serving/v1beta1.Batcher"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher"), }, }, "labels": { @@ -4322,7 +4329,7 @@ func schema_pkg_apis_serving_v1beta1_ExplainerSpec(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.ARTExplainerSpec", "./pkg/apis/serving/v1beta1.AlibiExplainerSpec", "./pkg/apis/serving/v1beta1.Batcher", "./pkg/apis/serving/v1beta1.LoggerSpec", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EphemeralContainer", "k8s.io/api/core/v1.HostAlias", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodOS", "k8s.io/api/core/v1.PodReadinessGate", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSchedulingGate", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ARTExplainerSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.AlibiExplainerSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EphemeralContainer", "k8s.io/api/core/v1.HostAlias", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodOS", "k8s.io/api/core/v1.PodReadinessGate", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSchedulingGate", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -4335,20 +4342,20 @@ func schema_pkg_apis_serving_v1beta1_ExplainersConfig(ref common.ReferenceCallba "alibi": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.ExplainerConfig"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerConfig"), }, }, "art": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.ExplainerConfig"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerConfig"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.ExplainerConfig"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerConfig"}, } } @@ -4437,20 +4444,20 @@ func schema_pkg_apis_serving_v1beta1_InferenceService(ref common.ReferenceCallba "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.InferenceServiceSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServiceSpec"), }, }, "status": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.InferenceServiceStatus"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServiceStatus"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.InferenceServiceSpec", "./pkg/apis/serving/v1beta1.InferenceServiceStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServiceSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceServiceStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, } } @@ -4493,7 +4500,7 @@ func schema_pkg_apis_serving_v1beta1_InferenceServiceList(ref common.ReferenceCa Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.InferenceService"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceService"), }, }, }, @@ -4504,7 +4511,7 @@ func schema_pkg_apis_serving_v1beta1_InferenceServiceList(ref common.ReferenceCa }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.InferenceService", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.InferenceService", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, } } @@ -4519,19 +4526,19 @@ func schema_pkg_apis_serving_v1beta1_InferenceServiceSpec(ref common.ReferenceCa SchemaProps: spec.SchemaProps{ Description: "Predictor defines the model serving spec", Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.PredictorSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.PredictorSpec"), }, }, "explainer": { SchemaProps: spec.SchemaProps{ Description: "Explainer defines the model explanation service spec, explainer service calls to predictor or transformer if it is specified.", - Ref: ref("./pkg/apis/serving/v1beta1.ExplainerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerSpec"), }, }, "transformer": { SchemaProps: spec.SchemaProps{ Description: "Transformer defines the pre/post processing before and after the predictor call, transformer service calls to predictor service.", - Ref: ref("./pkg/apis/serving/v1beta1.TransformerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.TransformerSpec"), }, }, }, @@ -4539,7 +4546,7 @@ func schema_pkg_apis_serving_v1beta1_InferenceServiceSpec(ref common.ReferenceCa }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.ExplainerSpec", "./pkg/apis/serving/v1beta1.PredictorSpec", "./pkg/apis/serving/v1beta1.TransformerSpec"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainerSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PredictorSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TransformerSpec"}, } } @@ -4614,7 +4621,7 @@ func schema_pkg_apis_serving_v1beta1_InferenceServiceStatus(ref common.Reference Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.ComponentStatusSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ComponentStatusSpec"), }, }, }, @@ -4624,14 +4631,14 @@ func schema_pkg_apis_serving_v1beta1_InferenceServiceStatus(ref common.Reference SchemaProps: spec.SchemaProps{ Description: "Model related statuses", Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.ModelStatus"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelStatus"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.ComponentStatusSpec", "./pkg/apis/serving/v1beta1.ModelStatus", "knative.dev/pkg/apis.Condition", "knative.dev/pkg/apis.URL", "knative.dev/pkg/apis/duck/v1.Addressable"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ComponentStatusSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelStatus", "knative.dev/pkg/apis.Condition", "knative.dev/pkg/apis.URL", "knative.dev/pkg/apis/duck/v1.Addressable"}, } } @@ -4645,7 +4652,7 @@ func schema_pkg_apis_serving_v1beta1_InferenceServicesConfig(ref common.Referenc SchemaProps: spec.SchemaProps{ Description: "Explainer configurations", Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.ExplainersConfig"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainersConfig"), }, }, }, @@ -4653,7 +4660,7 @@ func schema_pkg_apis_serving_v1beta1_InferenceServicesConfig(ref common.Referenc }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.ExplainersConfig"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ExplainersConfig"}, } } @@ -4990,14 +4997,14 @@ func schema_pkg_apis_serving_v1beta1_LightGBMSpec(ref common.ReferenceCallback) "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -5120,7 +5127,7 @@ func schema_pkg_apis_serving_v1beta1_ModelSpec(ref common.ReferenceCallback) com SchemaProps: spec.SchemaProps{ Description: "ModelFormat being served.", Default: map[string]interface{}{}, - Ref: ref("./pkg/apis/serving/v1beta1.ModelFormat"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelFormat"), }, }, "runtime": { @@ -5384,7 +5391,7 @@ func schema_pkg_apis_serving_v1beta1_ModelSpec(ref common.ReferenceCallback) com "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, @@ -5392,7 +5399,7 @@ func schema_pkg_apis_serving_v1beta1_ModelSpec(ref common.ReferenceCallback) com }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.ModelFormat", "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelFormat", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -5413,19 +5420,19 @@ func schema_pkg_apis_serving_v1beta1_ModelStatus(ref common.ReferenceCallback) c "states": { SchemaProps: spec.SchemaProps{ Description: "State information of the predictor's model.", - Ref: ref("./pkg/apis/serving/v1beta1.ModelRevisionStates"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelRevisionStates"), }, }, "lastFailureInfo": { SchemaProps: spec.SchemaProps{ Description: "Details of last failure, when load of target model is failed or blocked.", - Ref: ref("./pkg/apis/serving/v1beta1.FailureInfo"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.FailureInfo"), }, }, "copies": { SchemaProps: spec.SchemaProps{ Description: "Model copy information of the predictor's model.", - Ref: ref("./pkg/apis/serving/v1beta1.ModelCopies"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelCopies"), }, }, }, @@ -5433,7 +5440,7 @@ func schema_pkg_apis_serving_v1beta1_ModelStatus(ref common.ReferenceCallback) c }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.FailureInfo", "./pkg/apis/serving/v1beta1.ModelCopies", "./pkg/apis/serving/v1beta1.ModelRevisionStates"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.FailureInfo", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelCopies", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelRevisionStates"}, } } @@ -5698,14 +5705,14 @@ func schema_pkg_apis_serving_v1beta1_ONNXRuntimeSpec(ref common.ReferenceCallbac "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -5970,14 +5977,14 @@ func schema_pkg_apis_serving_v1beta1_PMMLSpec(ref common.ReferenceCallback) comm "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -6241,14 +6248,14 @@ func schema_pkg_apis_serving_v1beta1_PaddleServerSpec(ref common.ReferenceCallba "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -6963,14 +6970,14 @@ func schema_pkg_apis_serving_v1beta1_PredictorExtensionSpec(ref common.Reference "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -6984,61 +6991,61 @@ func schema_pkg_apis_serving_v1beta1_PredictorSpec(ref common.ReferenceCallback) "sklearn": { SchemaProps: spec.SchemaProps{ Description: "Spec for SKLearn model server", - Ref: ref("./pkg/apis/serving/v1beta1.SKLearnSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.SKLearnSpec"), }, }, "xgboost": { SchemaProps: spec.SchemaProps{ Description: "Spec for XGBoost model server", - Ref: ref("./pkg/apis/serving/v1beta1.XGBoostSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.XGBoostSpec"), }, }, "tensorflow": { SchemaProps: spec.SchemaProps{ Description: "Spec for TFServing (https://github.com/tensorflow/serving)", - Ref: ref("./pkg/apis/serving/v1beta1.TFServingSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.TFServingSpec"), }, }, "pytorch": { SchemaProps: spec.SchemaProps{ Description: "Spec for TorchServe (https://pytorch.org/serve)", - Ref: ref("./pkg/apis/serving/v1beta1.TorchServeSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.TorchServeSpec"), }, }, "triton": { SchemaProps: spec.SchemaProps{ Description: "Spec for Triton Inference Server (https://github.com/triton-inference-server/server)", - Ref: ref("./pkg/apis/serving/v1beta1.TritonSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.TritonSpec"), }, }, "onnx": { SchemaProps: spec.SchemaProps{ Description: "Spec for ONNX runtime (https://github.com/microsoft/onnxruntime)", - Ref: ref("./pkg/apis/serving/v1beta1.ONNXRuntimeSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ONNXRuntimeSpec"), }, }, "pmml": { SchemaProps: spec.SchemaProps{ Description: "Spec for PMML (http://dmg.org/pmml/v4-1/GeneralStructure.html)", - Ref: ref("./pkg/apis/serving/v1beta1.PMMLSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.PMMLSpec"), }, }, "lightgbm": { SchemaProps: spec.SchemaProps{ Description: "Spec for LightGBM model server", - Ref: ref("./pkg/apis/serving/v1beta1.LightGBMSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.LightGBMSpec"), }, }, "paddle": { SchemaProps: spec.SchemaProps{ Description: "Spec for Paddle model server (https://github.com/PaddlePaddle/Serving)", - Ref: ref("./pkg/apis/serving/v1beta1.PaddleServerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.PaddleServerSpec"), }, }, "model": { SchemaProps: spec.SchemaProps{ Description: "Model spec for any arbitrary framework.", - Ref: ref("./pkg/apis/serving/v1beta1.ModelSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelSpec"), }, }, "volumes": { @@ -7528,13 +7535,13 @@ func schema_pkg_apis_serving_v1beta1_PredictorSpec(ref common.ReferenceCallback) "logger": { SchemaProps: spec.SchemaProps{ Description: "Activate request/response logging and logger configurations", - Ref: ref("./pkg/apis/serving/v1beta1.LoggerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec"), }, }, "batcher": { SchemaProps: spec.SchemaProps{ Description: "Activate request batching and batching configurations", - Ref: ref("./pkg/apis/serving/v1beta1.Batcher"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher"), }, }, "labels": { @@ -7573,7 +7580,7 @@ func schema_pkg_apis_serving_v1beta1_PredictorSpec(ref common.ReferenceCallback) }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.Batcher", "./pkg/apis/serving/v1beta1.LightGBMSpec", "./pkg/apis/serving/v1beta1.LoggerSpec", "./pkg/apis/serving/v1beta1.ModelSpec", "./pkg/apis/serving/v1beta1.ONNXRuntimeSpec", "./pkg/apis/serving/v1beta1.PMMLSpec", "./pkg/apis/serving/v1beta1.PaddleServerSpec", "./pkg/apis/serving/v1beta1.SKLearnSpec", "./pkg/apis/serving/v1beta1.TFServingSpec", "./pkg/apis/serving/v1beta1.TorchServeSpec", "./pkg/apis/serving/v1beta1.TritonSpec", "./pkg/apis/serving/v1beta1.XGBoostSpec", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EphemeralContainer", "k8s.io/api/core/v1.HostAlias", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodOS", "k8s.io/api/core/v1.PodReadinessGate", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSchedulingGate", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.LightGBMSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ModelSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.ONNXRuntimeSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PMMLSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.PaddleServerSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.SKLearnSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TFServingSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TorchServeSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.TritonSpec", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.XGBoostSpec", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EphemeralContainer", "k8s.io/api/core/v1.HostAlias", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodOS", "k8s.io/api/core/v1.PodReadinessGate", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSchedulingGate", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -7838,14 +7845,14 @@ func schema_pkg_apis_serving_v1beta1_SKLearnSpec(ref common.ReferenceCallback) c "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -8159,14 +8166,14 @@ func schema_pkg_apis_serving_v1beta1_TFServingSpec(ref common.ReferenceCallback) "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -8431,14 +8438,14 @@ func schema_pkg_apis_serving_v1beta1_TorchServeSpec(ref common.ReferenceCallback "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -8936,13 +8943,13 @@ func schema_pkg_apis_serving_v1beta1_TransformerSpec(ref common.ReferenceCallbac "logger": { SchemaProps: spec.SchemaProps{ Description: "Activate request/response logging and logger configurations", - Ref: ref("./pkg/apis/serving/v1beta1.LoggerSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec"), }, }, "batcher": { SchemaProps: spec.SchemaProps{ Description: "Activate request batching and batching configurations", - Ref: ref("./pkg/apis/serving/v1beta1.Batcher"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher"), }, }, "labels": { @@ -8981,7 +8988,7 @@ func schema_pkg_apis_serving_v1beta1_TransformerSpec(ref common.ReferenceCallbac }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.Batcher", "./pkg/apis/serving/v1beta1.LoggerSpec", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EphemeralContainer", "k8s.io/api/core/v1.HostAlias", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodOS", "k8s.io/api/core/v1.PodReadinessGate", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSchedulingGate", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.Batcher", "github.com/kserve/kserve/pkg/apis/serving/v1beta1.LoggerSpec", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EphemeralContainer", "k8s.io/api/core/v1.HostAlias", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodOS", "k8s.io/api/core/v1.PodReadinessGate", "k8s.io/api/core/v1.PodResourceClaim", "k8s.io/api/core/v1.PodSchedulingGate", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } @@ -9246,14 +9253,14 @@ func schema_pkg_apis_serving_v1beta1_TritonSpec(ref common.ReferenceCallback) co "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -9518,13 +9525,13 @@ func schema_pkg_apis_serving_v1beta1_XGBoostSpec(ref common.ReferenceCallback) c "storage": { SchemaProps: spec.SchemaProps{ Description: "Storage Spec for model location", - Ref: ref("./pkg/apis/serving/v1beta1.StorageSpec"), + Ref: ref("github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec"), }, }, }, }, }, Dependencies: []string{ - "./pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, + "github.com/kserve/kserve/pkg/apis/serving/v1beta1.StorageSpec", "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"}, } } diff --git a/pkg/apis/serving/v1beta1/predictor_model.go b/pkg/apis/serving/v1beta1/predictor_model.go index dd90ac1df6c..bad5eb26541 100644 --- a/pkg/apis/serving/v1beta1/predictor_model.go +++ b/pkg/apis/serving/v1beta1/predictor_model.go @@ -85,11 +85,7 @@ func (ss stringSet) contains(s string) bool { // support the given model. If the `isMMS` argument is true, this function will only return ServingRuntimes that are // ModelMesh compatible, otherwise only single-model serving compatible runtimes will be returned. func (m *ModelSpec) GetSupportingRuntimes(cl client.Client, namespace string, isMMS bool) ([]v1alpha1.SupportedRuntime, error) { - - var modelProtcolVersion constants.InferenceServiceProtocol - if m.ProtocolVersion != nil { - modelProtcolVersion = *m.ProtocolVersion - } + modelProtocolVersion := m.GetProtocol() // List all namespace-scoped runtimes. runtimes := &v1alpha1.ServingRuntimeList{} @@ -108,21 +104,24 @@ func (m *ModelSpec) GetSupportingRuntimes(cl client.Client, namespace string, is sortClusterServingRuntimeList(clusterRuntimes) srSpecs := []v1alpha1.SupportedRuntime{} + var clusterSrSpecs []v1alpha1.SupportedRuntime for i := range runtimes.Items { rt := &runtimes.Items[i] if !rt.Spec.IsDisabled() && rt.Spec.IsMultiModelRuntime() == isMMS && - m.RuntimeSupportsModel(&rt.Spec) && rt.Spec.IsProtocolVersionSupported(modelProtcolVersion) { + m.RuntimeSupportsModel(&rt.Spec) && rt.Spec.IsProtocolVersionSupported(modelProtocolVersion) { srSpecs = append(srSpecs, v1alpha1.SupportedRuntime{Name: rt.GetName(), Spec: rt.Spec}) } } - + sortSupportedRuntimeByPriority(srSpecs, m.ModelFormat) for i := range clusterRuntimes.Items { crt := &clusterRuntimes.Items[i] if !crt.Spec.IsDisabled() && crt.Spec.IsMultiModelRuntime() == isMMS && - m.RuntimeSupportsModel(&crt.Spec) && crt.Spec.IsProtocolVersionSupported(modelProtcolVersion) { - srSpecs = append(srSpecs, v1alpha1.SupportedRuntime{Name: crt.GetName(), Spec: crt.Spec}) + m.RuntimeSupportsModel(&crt.Spec) && crt.Spec.IsProtocolVersionSupported(modelProtocolVersion) { + clusterSrSpecs = append(clusterSrSpecs, v1alpha1.SupportedRuntime{Name: crt.GetName(), Spec: crt.Spec}) } } + sortSupportedRuntimeByPriority(clusterSrSpecs, m.ModelFormat) + srSpecs = append(srSpecs, clusterSrSpecs...) return srSpecs, nil } @@ -199,6 +198,22 @@ func sortClusterServingRuntimeList(runtimes *v1alpha1.ClusterServingRuntimeList) }) } +func sortSupportedRuntimeByPriority(runtimes []v1alpha1.SupportedRuntime, modelFormat ModelFormat) { + sort.Slice(runtimes, func(i, j int) bool { + p1 := runtimes[i].Spec.GetPriority(modelFormat.Name) + p2 := runtimes[j].Spec.GetPriority(modelFormat.Name) + + if p1 == nil && p2 == nil { // if both runtimes does not specify the priority, the order is kept. + return false + } else if p1 == nil && p2 != nil { // runtime with priority specified takes precedence + return false + } else if p1 != nil && p2 == nil { + return true + } + return *p1 > *p2 + }) +} + func GetProtocolVersionPriority(protocols []constants.InferenceServiceProtocol) int { if protocols == nil || len(protocols) == 0 { return int(constants.Unknown) diff --git a/pkg/apis/serving/v1beta1/predictor_model_test.go b/pkg/apis/serving/v1beta1/predictor_model_test.go index b13367a9701..7a520b7f924 100644 --- a/pkg/apis/serving/v1beta1/predictor_model_test.go +++ b/pkg/apis/serving/v1beta1/predictor_model_test.go @@ -37,9 +37,12 @@ func TestGetSupportingRuntimes(t *testing.T) { tfRuntime := "tf-runtime" sklearnRuntime := "sklearn-runtime" pmmlRuntime := "pmml-runtime" + mlserverRuntimeMMS := "mlserver-runtime-mms" mlserverRuntime := "mlserver-runtime" xgboostRuntime := "xgboost-runtime" clusterServingRuntimePrefix := "cluster-" + tritonRuntime := "triton-runtime" + testRuntime := "test-runtime" protocolV2 := constants.ProtocolV2 protocolV1 := constants.ProtocolV1 @@ -51,9 +54,10 @@ func TestGetSupportingRuntimes(t *testing.T) { Name: "tensorflow", Version: proto.String("1"), AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), }, }, - ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV1}, + ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV1, constants.ProtocolV2}, ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ Containers: []v1.Container{ { @@ -70,9 +74,10 @@ func TestGetSupportingRuntimes(t *testing.T) { Name: "sklearn", Version: proto.String("0"), AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), }, }, - ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV1}, + ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV1, constants.ProtocolV2}, ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ Containers: []v1.Container{ { @@ -86,11 +91,12 @@ func TestGetSupportingRuntimes(t *testing.T) { pmmlRuntime: { SupportedModelFormats: []v1alpha1.SupportedModelFormat{ { - Name: "pmml", - Version: proto.String("4"), + Name: "pmml", + Version: proto.String("4"), + Priority: proto.Int32(1), }, }, - ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV1}, + ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV1, constants.ProtocolV2}, ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ Containers: []v1.Container{ { @@ -101,22 +107,25 @@ func TestGetSupportingRuntimes(t *testing.T) { }, Disabled: proto.Bool(true), }, - mlserverRuntime: { + mlserverRuntimeMMS: { SupportedModelFormats: []v1alpha1.SupportedModelFormat{ { Name: "sklearn", Version: proto.String("0"), AutoSelect: proto.Bool(true), + Priority: proto.Int32(2), }, { Name: "xgboost", Version: proto.String("1"), AutoSelect: proto.Bool(true), + Priority: proto.Int32(2), }, { Name: "lightgbm", Version: proto.String("3"), AutoSelect: proto.Bool(true), + Priority: proto.Int32(2), }, }, ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV2}, @@ -132,12 +141,40 @@ func TestGetSupportingRuntimes(t *testing.T) { Disabled: proto.Bool(false), MultiModel: proto.Bool(true), }, + mlserverRuntime: { + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("0"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(2), + }, + { + Name: "lightgbm", + Version: proto.String("3"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(2), + }, + }, + ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV2}, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []v1.Container{ + { + Name: "kserve-container", + Image: mlserverRuntime + "-image:latest", + }, + }, + }, + Disabled: proto.Bool(false), + MultiModel: proto.Bool(false), + }, xgboostRuntime: { SupportedModelFormats: []v1alpha1.SupportedModelFormat{ { Name: "xgboost", Version: proto.String("0"), AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), }, }, ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV2}, @@ -151,6 +188,57 @@ func TestGetSupportingRuntimes(t *testing.T) { }, Disabled: proto.Bool(false), }, + tritonRuntime: { + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("0"), + AutoSelect: proto.Bool(true), + }, + { + Name: "triton", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + { + Name: "lightgbm", + Version: proto.String("3"), + AutoSelect: proto.Bool(true), + }, + }, + ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV2}, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []v1.Container{ + { + Name: "kserve-container", + Image: mlserverRuntime + "-image:latest", + }, + }, + }, + Disabled: proto.Bool(false), + MultiModel: proto.Bool(false), + }, + testRuntime: { + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("0"), + AutoSelect: proto.Bool(true), + }, + }, + ProtocolVersions: []constants.InferenceServiceProtocol{constants.ProtocolV2}, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []v1.Container{ + { + Name: "kserve-container", + Image: mlserverRuntime + "-image:latest", + }, + }, + }, + Disabled: proto.Bool(false), + MultiModel: proto.Bool(false), + }, } runtimes := &v1alpha1.ServingRuntimeList{ @@ -176,6 +264,27 @@ func TestGetSupportingRuntimes(t *testing.T) { }, Spec: servingRuntimeSpecs[pmmlRuntime], }, + { + ObjectMeta: metav1.ObjectMeta{ + Name: mlserverRuntime, + Namespace: namespace, + }, + Spec: servingRuntimeSpecs[mlserverRuntime], + }, + { + ObjectMeta: metav1.ObjectMeta{ + Name: tritonRuntime, + Namespace: namespace, + }, + Spec: servingRuntimeSpecs[tritonRuntime], + }, + { + ObjectMeta: metav1.ObjectMeta{ + Name: testRuntime, + Namespace: namespace, + }, + Spec: servingRuntimeSpecs[testRuntime], + }, }, } @@ -183,9 +292,9 @@ func TestGetSupportingRuntimes(t *testing.T) { Items: []v1alpha1.ClusterServingRuntime{ { ObjectMeta: metav1.ObjectMeta{ - Name: clusterServingRuntimePrefix + mlserverRuntime, + Name: clusterServingRuntimePrefix + mlserverRuntimeMMS, }, - Spec: servingRuntimeSpecs[mlserverRuntime], + Spec: servingRuntimeSpecs[mlserverRuntimeMMS], }, { ObjectMeta: metav1.ObjectMeta{ @@ -255,7 +364,7 @@ func TestGetSupportingRuntimes(t *testing.T) { }, }, isMMS: true, - expected: []v1alpha1.SupportedRuntime{{Name: clusterServingRuntimePrefix + mlserverRuntime, Spec: servingRuntimeSpecs[mlserverRuntime]}}, + expected: []v1alpha1.SupportedRuntime{{Name: clusterServingRuntimePrefix + mlserverRuntimeMMS, Spec: servingRuntimeSpecs[mlserverRuntimeMMS]}}, }, "SMSRuntimeModelFormatSpecified": { spec: &ModelSpec{ @@ -295,6 +404,24 @@ func TestGetSupportingRuntimes(t *testing.T) { isMMS: false, expected: []v1alpha1.SupportedRuntime{}, }, + "MultipleRuntimeSupportsModelFormatSpecified": { + spec: &ModelSpec{ + ModelFormat: ModelFormat{ + Name: "sklearn", + }, + PredictorExtensionSpec: PredictorExtensionSpec{ + ProtocolVersion: &protocolV2, + StorageURI: &storageUri, + }, + }, + isMMS: false, + expected: []v1alpha1.SupportedRuntime{ + {Name: mlserverRuntime, Spec: servingRuntimeSpecs[mlserverRuntime]}, + {Name: sklearnRuntime, Spec: servingRuntimeSpecs[sklearnRuntime]}, + {Name: testRuntime, Spec: servingRuntimeSpecs[testRuntime]}, + {Name: tritonRuntime, Spec: servingRuntimeSpecs[tritonRuntime]}, + }, + }, } s := runtime.NewScheme() diff --git a/pkg/apis/serving/v1beta1/swagger.json b/pkg/apis/serving/v1beta1/swagger.json index ed6cab074b6..4374c16cc43 100644 --- a/pkg/apis/serving/v1beta1/swagger.json +++ b/pkg/apis/serving/v1beta1/swagger.json @@ -582,6 +582,11 @@ "type": "string", "default": "" }, + "priority": { + "description": "Priority of this serving runtime for auto selection. This is used to select the serving runtime if more than one serving runtime supports the same model format. The value should be greater than zero. The higher the value, the higher the priority. Priority is not considered if AutoSelect is either false or not specified. Priority can be overridden by specifying the runtime in the InferenceService.", + "type": "integer", + "format": "int32" + }, "version": { "description": "Version of the model format. Used in validating that a predictor is supported by a runtime. Can be \"major\", \"major.minor\" or \"major.minor.patch\".", "type": "string" diff --git a/pkg/apis/serving/v1beta1/zz_generated.deepcopy.go b/pkg/apis/serving/v1beta1/zz_generated.deepcopy.go index 9936f9a4929..00021c8006f 100644 --- a/pkg/apis/serving/v1beta1/zz_generated.deepcopy.go +++ b/pkg/apis/serving/v1beta1/zz_generated.deepcopy.go @@ -17,23 +17,24 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Code generated by controller-gen. DO NOT EDIT. +// Code generated by deepcopy-gen. DO NOT EDIT. package v1beta1 import ( - "github.com/kserve/kserve/pkg/constants" + constants "github.com/kserve/kserve/pkg/constants" corev1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/runtime" - "knative.dev/pkg/apis" - "knative.dev/pkg/apis/duck/v1" - servingv1 "knative.dev/serving/pkg/apis/serving/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + apis "knative.dev/pkg/apis" + duckv1 "knative.dev/pkg/apis/duck/v1" + v1 "knative.dev/serving/pkg/apis/serving/v1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ARTExplainerSpec) DeepCopyInto(out *ARTExplainerSpec) { *out = *in in.ExplainerExtensionSpec.DeepCopyInto(&out.ExplainerExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ARTExplainerSpec. @@ -50,6 +51,7 @@ func (in *ARTExplainerSpec) DeepCopy() *ARTExplainerSpec { func (in *AlibiExplainerSpec) DeepCopyInto(out *AlibiExplainerSpec) { *out = *in in.ExplainerExtensionSpec.DeepCopyInto(&out.ExplainerExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlibiExplainerSpec. @@ -80,6 +82,7 @@ func (in *Batcher) DeepCopyInto(out *Batcher) { *out = new(int) **out = **in } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Batcher. @@ -149,6 +152,7 @@ func (in *ComponentExtensionSpec) DeepCopyInto(out *ComponentExtensionSpec) { (*out)[key] = val } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentExtensionSpec. @@ -166,7 +170,7 @@ func (in *ComponentStatusSpec) DeepCopyInto(out *ComponentStatusSpec) { *out = *in if in.Traffic != nil { in, out := &in.Traffic, &out.Traffic - *out = make([]servingv1.TrafficTarget, len(*in)) + *out = make([]v1.TrafficTarget, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -188,9 +192,10 @@ func (in *ComponentStatusSpec) DeepCopyInto(out *ComponentStatusSpec) { } if in.Address != nil { in, out := &in.Address, &out.Address - *out = new(v1.Addressable) + *out = new(duckv1.Addressable) (*in).DeepCopyInto(*out) } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatusSpec. @@ -207,6 +212,7 @@ func (in *ComponentStatusSpec) DeepCopy() *ComponentStatusSpec { func (in *CustomExplainer) DeepCopyInto(out *CustomExplainer) { *out = *in in.PodSpec.DeepCopyInto(&out.PodSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomExplainer. @@ -223,6 +229,7 @@ func (in *CustomExplainer) DeepCopy() *CustomExplainer { func (in *CustomPredictor) DeepCopyInto(out *CustomPredictor) { *out = *in in.PodSpec.DeepCopyInto(&out.PodSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPredictor. @@ -239,6 +246,7 @@ func (in *CustomPredictor) DeepCopy() *CustomPredictor { func (in *CustomTransformer) DeepCopyInto(out *CustomTransformer) { *out = *in in.PodSpec.DeepCopyInto(&out.PodSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomTransformer. @@ -251,6 +259,38 @@ func (in *CustomTransformer) DeepCopy() *CustomTransformer { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DeployConfig) DeepCopyInto(out *DeployConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployConfig. +func (in *DeployConfig) DeepCopy() *DeployConfig { + if in == nil { + return nil + } + out := new(DeployConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExplainerConfig) DeepCopyInto(out *ExplainerConfig) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExplainerConfig. +func (in *ExplainerConfig) DeepCopy() *ExplainerConfig { + if in == nil { + return nil + } + out := new(ExplainerConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ExplainerExtensionSpec) DeepCopyInto(out *ExplainerExtensionSpec) { *out = *in @@ -272,6 +312,7 @@ func (in *ExplainerExtensionSpec) DeepCopyInto(out *ExplainerExtensionSpec) { *out = new(StorageSpec) (*in).DeepCopyInto(*out) } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExplainerExtensionSpec. @@ -299,6 +340,7 @@ func (in *ExplainerSpec) DeepCopyInto(out *ExplainerSpec) { } in.PodSpec.DeepCopyInto(&out.PodSpec) in.ComponentExtensionSpec.DeepCopyInto(&out.ComponentExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExplainerSpec. @@ -311,6 +353,24 @@ func (in *ExplainerSpec) DeepCopy() *ExplainerSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExplainersConfig) DeepCopyInto(out *ExplainersConfig) { + *out = *in + out.AlibiExplainer = in.AlibiExplainer + out.ARTExplainer = in.ARTExplainer + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExplainersConfig. +func (in *ExplainersConfig) DeepCopy() *ExplainersConfig { + if in == nil { + return nil + } + out := new(ExplainersConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FailureInfo) DeepCopyInto(out *FailureInfo) { *out = *in @@ -318,6 +378,7 @@ func (in *FailureInfo) DeepCopyInto(out *FailureInfo) { in, out := &in.Time, &out.Time *out = (*in).DeepCopy() } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureInfo. @@ -337,6 +398,7 @@ func (in *InferenceService) DeepCopyInto(out *InferenceService) { in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.Spec.DeepCopyInto(&out.Spec) in.Status.DeepCopyInto(&out.Status) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InferenceService. @@ -369,6 +431,7 @@ func (in *InferenceServiceList) DeepCopyInto(out *InferenceServiceList) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InferenceServiceList. @@ -403,6 +466,7 @@ func (in *InferenceServiceSpec) DeepCopyInto(out *InferenceServiceSpec) { *out = new(TransformerSpec) (*in).DeepCopyInto(*out) } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InferenceServiceSpec. @@ -421,7 +485,7 @@ func (in *InferenceServiceStatus) DeepCopyInto(out *InferenceServiceStatus) { in.Status.DeepCopyInto(&out.Status) if in.Address != nil { in, out := &in.Address, &out.Address - *out = new(v1.Addressable) + *out = new(duckv1.Addressable) (*in).DeepCopyInto(*out) } if in.URL != nil { @@ -437,6 +501,7 @@ func (in *InferenceServiceStatus) DeepCopyInto(out *InferenceServiceStatus) { } } in.ModelStatus.DeepCopyInto(&out.ModelStatus) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InferenceServiceStatus. @@ -449,10 +514,49 @@ func (in *InferenceServiceStatus) DeepCopy() *InferenceServiceStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InferenceServicesConfig) DeepCopyInto(out *InferenceServicesConfig) { + *out = *in + out.Explainers = in.Explainers + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InferenceServicesConfig. +func (in *InferenceServicesConfig) DeepCopy() *InferenceServicesConfig { + if in == nil { + return nil + } + out := new(InferenceServicesConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IngressConfig) DeepCopyInto(out *IngressConfig) { + *out = *in + if in.IngressClassName != nil { + in, out := &in.IngressClassName, &out.IngressClassName + *out = new(string) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressConfig. +func (in *IngressConfig) DeepCopy() *IngressConfig { + if in == nil { + return nil + } + out := new(IngressConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LightGBMSpec) DeepCopyInto(out *LightGBMSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LightGBMSpec. @@ -473,6 +577,7 @@ func (in *LoggerSpec) DeepCopyInto(out *LoggerSpec) { *out = new(string) **out = **in } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggerSpec. @@ -488,6 +593,7 @@ func (in *LoggerSpec) DeepCopy() *LoggerSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ModelCopies) DeepCopyInto(out *ModelCopies) { *out = *in + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelCopies. @@ -508,6 +614,7 @@ func (in *ModelFormat) DeepCopyInto(out *ModelFormat) { *out = new(string) **out = **in } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelFormat. @@ -523,6 +630,7 @@ func (in *ModelFormat) DeepCopy() *ModelFormat { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ModelRevisionStates) DeepCopyInto(out *ModelRevisionStates) { *out = *in + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelRevisionStates. @@ -545,6 +653,7 @@ func (in *ModelSpec) DeepCopyInto(out *ModelSpec) { **out = **in } in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelSpec. @@ -575,6 +684,7 @@ func (in *ModelStatus) DeepCopyInto(out *ModelStatus) { *out = new(ModelCopies) **out = **in } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelStatus. @@ -591,6 +701,7 @@ func (in *ModelStatus) DeepCopy() *ModelStatus { func (in *ONNXRuntimeSpec) DeepCopyInto(out *ONNXRuntimeSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ONNXRuntimeSpec. @@ -607,6 +718,7 @@ func (in *ONNXRuntimeSpec) DeepCopy() *ONNXRuntimeSpec { func (in *PMMLSpec) DeepCopyInto(out *PMMLSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PMMLSpec. @@ -623,6 +735,7 @@ func (in *PMMLSpec) DeepCopy() *PMMLSpec { func (in *PaddleServerSpec) DeepCopyInto(out *PaddleServerSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PaddleServerSpec. @@ -793,6 +906,7 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSpec. @@ -829,6 +943,7 @@ func (in *PredictorExtensionSpec) DeepCopyInto(out *PredictorExtensionSpec) { *out = new(StorageSpec) (*in).DeepCopyInto(*out) } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictorExtensionSpec. @@ -896,6 +1011,7 @@ func (in *PredictorSpec) DeepCopyInto(out *PredictorSpec) { } in.PodSpec.DeepCopyInto(&out.PodSpec) in.ComponentExtensionSpec.DeepCopyInto(&out.ComponentExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictorSpec. @@ -912,6 +1028,7 @@ func (in *PredictorSpec) DeepCopy() *PredictorSpec { func (in *SKLearnSpec) DeepCopyInto(out *SKLearnSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SKLearnSpec. @@ -953,6 +1070,7 @@ func (in *StorageSpec) DeepCopyInto(out *StorageSpec) { *out = new(string) **out = **in } + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec. @@ -969,6 +1087,7 @@ func (in *StorageSpec) DeepCopy() *StorageSpec { func (in *TFServingSpec) DeepCopyInto(out *TFServingSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TFServingSpec. @@ -985,6 +1104,7 @@ func (in *TFServingSpec) DeepCopy() *TFServingSpec { func (in *TorchServeSpec) DeepCopyInto(out *TorchServeSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TorchServeSpec. @@ -1002,6 +1122,7 @@ func (in *TransformerSpec) DeepCopyInto(out *TransformerSpec) { *out = *in in.PodSpec.DeepCopyInto(&out.PodSpec) in.ComponentExtensionSpec.DeepCopyInto(&out.ComponentExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransformerSpec. @@ -1018,6 +1139,7 @@ func (in *TransformerSpec) DeepCopy() *TransformerSpec { func (in *TritonSpec) DeepCopyInto(out *TritonSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TritonSpec. @@ -1034,6 +1156,7 @@ func (in *TritonSpec) DeepCopy() *TritonSpec { func (in *XGBoostSpec) DeepCopyInto(out *XGBoostSpec) { *out = *in in.PredictorExtensionSpec.DeepCopyInto(&out.PredictorExtensionSpec) + return } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new XGBoostSpec. diff --git a/pkg/client/clientset/versioned/clientset.go b/pkg/client/clientset/versioned/clientset.go index 7ce6fd31ec6..24bda1b3eb6 100644 --- a/pkg/client/clientset/versioned/clientset.go +++ b/pkg/client/clientset/versioned/clientset.go @@ -33,8 +33,7 @@ type Interface interface { ServingV1beta1() servingv1beta1.ServingV1beta1Interface } -// Clientset contains the clients for groups. Each group has exactly one -// version included in a Clientset. +// Clientset contains the clients for groups. type Clientset struct { *discovery.DiscoveryClient servingV1beta1 *servingv1beta1.ServingV1beta1Client diff --git a/pkg/client/informers/externalversions/factory.go b/pkg/client/informers/externalversions/factory.go index 868ee570ed9..311ba5db9c3 100644 --- a/pkg/client/informers/externalversions/factory.go +++ b/pkg/client/informers/externalversions/factory.go @@ -47,6 +47,11 @@ type sharedInformerFactory struct { // startedInformers is used for tracking which informers have been started. // This allows Start() to be called multiple times safely. startedInformers map[reflect.Type]bool + // wg tracks how many goroutines were started. + wg sync.WaitGroup + // shuttingDown is true when Shutdown has been called. It may still be running + // because it needs to wait for goroutines. + shuttingDown bool } // WithCustomResyncConfig sets a custom resync period for the specified informer types. @@ -107,20 +112,39 @@ func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResy return factory } -// Start initializes all requested informers. func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { f.lock.Lock() defer f.lock.Unlock() + if f.shuttingDown { + return + } + for informerType, informer := range f.informers { if !f.startedInformers[informerType] { - go informer.Run(stopCh) + f.wg.Add(1) + // We need a new variable in each loop iteration, + // otherwise the goroutine would use the loop variable + // and that keeps changing. + informer := informer + go func() { + defer f.wg.Done() + informer.Run(stopCh) + }() f.startedInformers[informerType] = true } } } -// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) Shutdown() { + f.lock.Lock() + f.shuttingDown = true + f.lock.Unlock() + + // Will return immediately if there is nothing to wait for. + f.wg.Wait() +} + func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { informers := func() map[reflect.Type]cache.SharedIndexInformer { f.lock.Lock() @@ -167,11 +191,58 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal // SharedInformerFactory provides shared informers for resources in all known // API group versions. +// +// It is typically used like this: +// +// ctx, cancel := context.Background() +// defer cancel() +// factory := NewSharedInformerFactory(client, resyncPeriod) +// defer factory.WaitForStop() // Returns immediately if nothing was started. +// genericInformer := factory.ForResource(resource) +// typedInformer := factory.SomeAPIGroup().V1().SomeType() +// factory.Start(ctx.Done()) // Start processing these informers. +// synced := factory.WaitForCacheSync(ctx.Done()) +// for v, ok := range synced { +// if !ok { +// fmt.Fprintf(os.Stderr, "caches failed to sync: %v", v) +// return +// } +// } +// +// // Creating informers can also be created after Start, but then +// // Start must be called again: +// anotherGenericInformer := factory.ForResource(resource) +// factory.Start(ctx.Done()) type SharedInformerFactory interface { internalinterfaces.SharedInformerFactory - ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + + // Start initializes all requested informers. They are handled in goroutines + // which run until the stop channel gets closed. + Start(stopCh <-chan struct{}) + + // Shutdown marks a factory as shutting down. At that point no new + // informers can be started anymore and Start will return without + // doing anything. + // + // In addition, Shutdown blocks until all goroutines have terminated. For that + // to happen, the close channel(s) that they were started with must be closed, + // either before Shutdown gets called or while it is waiting. + // + // Shutdown may be called multiple times, even concurrently. All such calls will + // block until all goroutines have terminated. + Shutdown() + + // WaitForCacheSync blocks until all started informers' caches were synced + // or the stop channel gets closed. WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + // ForResource gives generic access to a shared informer of the matching type. + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + + // InternalInformerFor returns the SharedIndexInformer for obj using an internal + // client. + InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer + Serving() serving.Interface } diff --git a/pkg/clientv1alpha1/clientset/versioned/clientset.go b/pkg/clientv1alpha1/clientset/versioned/clientset.go index 8f9cec40919..bb4fa4e4071 100644 --- a/pkg/clientv1alpha1/clientset/versioned/clientset.go +++ b/pkg/clientv1alpha1/clientset/versioned/clientset.go @@ -33,8 +33,7 @@ type Interface interface { ServingV1alpha1() servingv1alpha1.ServingV1alpha1Interface } -// Clientset contains the clients for groups. Each group has exactly one -// version included in a Clientset. +// Clientset contains the clients for groups. type Clientset struct { *discovery.DiscoveryClient servingV1alpha1 *servingv1alpha1.ServingV1alpha1Client diff --git a/pkg/clientv1alpha1/informers/externalversions/factory.go b/pkg/clientv1alpha1/informers/externalversions/factory.go index 98332a6247c..38e562bfca3 100644 --- a/pkg/clientv1alpha1/informers/externalversions/factory.go +++ b/pkg/clientv1alpha1/informers/externalversions/factory.go @@ -47,6 +47,11 @@ type sharedInformerFactory struct { // startedInformers is used for tracking which informers have been started. // This allows Start() to be called multiple times safely. startedInformers map[reflect.Type]bool + // wg tracks how many goroutines were started. + wg sync.WaitGroup + // shuttingDown is true when Shutdown has been called. It may still be running + // because it needs to wait for goroutines. + shuttingDown bool } // WithCustomResyncConfig sets a custom resync period for the specified informer types. @@ -107,20 +112,39 @@ func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResy return factory } -// Start initializes all requested informers. func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { f.lock.Lock() defer f.lock.Unlock() + if f.shuttingDown { + return + } + for informerType, informer := range f.informers { if !f.startedInformers[informerType] { - go informer.Run(stopCh) + f.wg.Add(1) + // We need a new variable in each loop iteration, + // otherwise the goroutine would use the loop variable + // and that keeps changing. + informer := informer + go func() { + defer f.wg.Done() + informer.Run(stopCh) + }() f.startedInformers[informerType] = true } } } -// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) Shutdown() { + f.lock.Lock() + f.shuttingDown = true + f.lock.Unlock() + + // Will return immediately if there is nothing to wait for. + f.wg.Wait() +} + func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { informers := func() map[reflect.Type]cache.SharedIndexInformer { f.lock.Lock() @@ -167,11 +191,58 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal // SharedInformerFactory provides shared informers for resources in all known // API group versions. +// +// It is typically used like this: +// +// ctx, cancel := context.Background() +// defer cancel() +// factory := NewSharedInformerFactory(client, resyncPeriod) +// defer factory.WaitForStop() // Returns immediately if nothing was started. +// genericInformer := factory.ForResource(resource) +// typedInformer := factory.SomeAPIGroup().V1().SomeType() +// factory.Start(ctx.Done()) // Start processing these informers. +// synced := factory.WaitForCacheSync(ctx.Done()) +// for v, ok := range synced { +// if !ok { +// fmt.Fprintf(os.Stderr, "caches failed to sync: %v", v) +// return +// } +// } +// +// // Creating informers can also be created after Start, but then +// // Start must be called again: +// anotherGenericInformer := factory.ForResource(resource) +// factory.Start(ctx.Done()) type SharedInformerFactory interface { internalinterfaces.SharedInformerFactory - ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + + // Start initializes all requested informers. They are handled in goroutines + // which run until the stop channel gets closed. + Start(stopCh <-chan struct{}) + + // Shutdown marks a factory as shutting down. At that point no new + // informers can be started anymore and Start will return without + // doing anything. + // + // In addition, Shutdown blocks until all goroutines have terminated. For that + // to happen, the close channel(s) that they were started with must be closed, + // either before Shutdown gets called or while it is waiting. + // + // Shutdown may be called multiple times, even concurrently. All such calls will + // block until all goroutines have terminated. + Shutdown() + + // WaitForCacheSync blocks until all started informers' caches were synced + // or the stop channel gets closed. WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + // ForResource gives generic access to a shared informer of the matching type. + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + + // InternalInformerFor returns the SharedIndexInformer for obj using an internal + // client. + InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer + Serving() serving.Interface } diff --git a/pkg/constants/constants.go b/pkg/constants/constants.go index 9f9b3ad9bd7..740e1ac4361 100644 --- a/pkg/constants/constants.go +++ b/pkg/constants/constants.go @@ -191,7 +191,8 @@ var ( // Webhook Constants var ( - PodMutatorWebhookName = KServeName + "-pod-mutator-webhook" + PodMutatorWebhookName = KServeName + "-pod-mutator-webhook" + ServingRuntimeValidatorWebhookName = KServeName + "-servingRuntime-validator-webhook" ) // GPU Constants diff --git a/pkg/webhook/admission/servingruntime/servingruntime_webhook.go b/pkg/webhook/admission/servingruntime/servingruntime_webhook.go new file mode 100644 index 00000000000..ed6b7056a67 --- /dev/null +++ b/pkg/webhook/admission/servingruntime/servingruntime_webhook.go @@ -0,0 +1,182 @@ +/* +Copyright 2023 The KServe Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package servingruntime + +import ( + "context" + "errors" + "fmt" + "github.com/kserve/kserve/pkg/constants" + "net/http" + "sigs.k8s.io/controller-runtime/pkg/client" + logf "sigs.k8s.io/controller-runtime/pkg/log" + "strings" + + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1" + + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +var log = logf.Log.WithName(constants.ServingRuntimeValidatorWebhookName) + +const ( + InvalidPriorityError = "Same priority assigned for the model format %s" + InvalidPriorityServingRuntimeError = "%s in the servingruntimes %s and %s in namespace %s" + InvalidPriorityClusterServingRuntimeError = "%s in the clusterservingruntimes %s and %s" +) + +// +kubebuilder:webhook:verbs=create;update,path=/validate-serving-kserve-io-v1alpha1-clusterservingruntime,mutating=false,failurePolicy=fail,groups=serving.kserve.io,resources=clusterservingruntimes,versions=v1alpha1,name=clusterservingruntime.kserve-webhook-server.validator + +type ClusterServingRuntimeValidator struct { + Client client.Client + Decoder *admission.Decoder +} + +// +kubebuilder:webhook:verbs=create;update,path=/validate-serving-kserve-io-v1alpha1-servingruntime,mutating=false,failurePolicy=fail,groups=serving.kserve.io,resources=servingruntimes,versions=v1alpha1,name=servingruntime.kserve-webhook-server.validator + +type ServingRuntimeValidator struct { + Client client.Client + Decoder *admission.Decoder +} + +func (sr *ServingRuntimeValidator) Handle(ctx context.Context, req admission.Request) admission.Response { + servingRuntime := &v1alpha1.ServingRuntime{} + if err := sr.Decoder.Decode(req, servingRuntime); err != nil { + log.Error(err, "Failed to decode serving runtime", "name", servingRuntime.Name, "namespace", servingRuntime.Namespace) + return admission.Errored(http.StatusBadRequest, err) + } + + ExistingRuntimes := &v1alpha1.ServingRuntimeList{} + if err := sr.Client.List(context.TODO(), ExistingRuntimes, client.InNamespace(servingRuntime.Namespace)); err != nil { + log.Error(err, "Failed to get serving runtime list", "namespace", servingRuntime.Namespace) + return admission.Errored(http.StatusInternalServerError, err) + } + + // Only validate for priority if the new serving runtime is not disabled + if servingRuntime.Spec.IsDisabled() { + return admission.Allowed("") + } + + for i := range ExistingRuntimes.Items { + if err := validateServingRuntimePriority(&servingRuntime.Spec, &ExistingRuntimes.Items[i].Spec, servingRuntime.Name, ExistingRuntimes.Items[i].Name); err != nil { + return admission.Denied(fmt.Sprintf(InvalidPriorityServingRuntimeError, err.Error(), ExistingRuntimes.Items[i].Name, servingRuntime.Name, servingRuntime.Namespace)) + } + } + return admission.Allowed("") +} + +// Handle validates the incoming request +func (csr *ClusterServingRuntimeValidator) Handle(ctx context.Context, req admission.Request) admission.Response { + clusterServingRuntime := &v1alpha1.ClusterServingRuntime{} + if err := csr.Decoder.Decode(req, clusterServingRuntime); err != nil { + log.Error(err, "Failed to decode cluster serving runtime", "name", clusterServingRuntime.Name) + return admission.Errored(http.StatusBadRequest, err) + } + + ExistingRuntimes := &v1alpha1.ClusterServingRuntimeList{} + if err := csr.Client.List(context.TODO(), ExistingRuntimes); err != nil { + log.Error(err, "Failed to get cluster serving runtime list") + return admission.Errored(http.StatusInternalServerError, err) + } + + // Only validate for priority if the new cluster serving runtime is not disabled + if clusterServingRuntime.Spec.IsDisabled() { + return admission.Allowed("") + } + + for i := range ExistingRuntimes.Items { + if err := validateServingRuntimePriority(&clusterServingRuntime.Spec, &ExistingRuntimes.Items[i].Spec, clusterServingRuntime.Name, ExistingRuntimes.Items[i].Name); err != nil { + return admission.Denied(fmt.Sprintf(InvalidPriorityClusterServingRuntimeError, err.Error(), ExistingRuntimes.Items[i].Name, clusterServingRuntime.Name)) + } + } + return admission.Allowed("") +} + +func areSupportedModelFormatsEqual(m1 v1alpha1.SupportedModelFormat, m2 v1alpha1.SupportedModelFormat) bool { + if strings.EqualFold(m1.Name, m2.Name) && ((m1.Version == nil && m2.Version == nil) || + (m1.Version != nil && m2.Version != nil && *m1.Version == *m2.Version)) { + return true + } + return false +} + +func validateServingRuntimePriority(newSpec *v1alpha1.ServingRuntimeSpec, existingSpec *v1alpha1.ServingRuntimeSpec, existingRuntimeName string, newRuntimeName string) error { + // Skip the runtime if it is disabled or both are not multi model runtime and in update scenario skip the existing runtime if it is same as the new runtime + if (newSpec.IsMultiModelRuntime() != existingSpec.IsMultiModelRuntime()) || (existingSpec.IsDisabled()) || (existingRuntimeName == newRuntimeName) { + return nil + } + // Only validate for priority if both servingruntimes supports the same protocol version + isTheProtocolSame := false + for _, protocolVersion := range existingSpec.ProtocolVersions { + if contains(newSpec.ProtocolVersions, protocolVersion) { + isTheProtocolSame = true + break + } + } + if isTheProtocolSame { + for _, existingModelFormat := range existingSpec.SupportedModelFormats { + for _, newModelFormat := range newSpec.SupportedModelFormats { + // Only validate priority if autoselect is ture + if existingModelFormat.IsAutoSelectEnabled() && newModelFormat.IsAutoSelectEnabled() && areSupportedModelFormatsEqual(existingModelFormat, newModelFormat) { + if existingModelFormat.Priority != nil && newModelFormat.Priority != nil && *existingModelFormat.Priority == *newModelFormat.Priority { + return errors.New(fmt.Sprintf(InvalidPriorityError, newModelFormat.Name)) + } + } + } + } + } + return nil +} + +func contains[T comparable](slice []T, element T) bool { + for _, v := range slice { + if v == element { + return true + } + } + return false +} + +// InjectClient injects the client. +func (csr *ClusterServingRuntimeValidator) InjectClient(c client.Client) error { + csr.Client = c + return nil +} + +// ClusterServingRuntimeValidator implements admission.DecoderInjector. +// A decoder will be automatically injected. + +// InjectDecoder injects the decoder. +func (csr *ClusterServingRuntimeValidator) InjectDecoder(d *admission.Decoder) error { + csr.Decoder = d + return nil +} + +// InjectClient injects the client. +func (sr *ServingRuntimeValidator) InjectClient(c client.Client) error { + sr.Client = c + return nil +} + +// ServingRuntimeValidator implements admission.DecoderInjector. +// A decoder will be automatically injected. + +// InjectDecoder injects the decoder. +func (sr *ServingRuntimeValidator) InjectDecoder(d *admission.Decoder) error { + sr.Decoder = d + return nil +} diff --git a/pkg/webhook/admission/servingruntime/servingruntime_webhook_test.go b/pkg/webhook/admission/servingruntime/servingruntime_webhook_test.go new file mode 100644 index 00000000000..34d511cf0f3 --- /dev/null +++ b/pkg/webhook/admission/servingruntime/servingruntime_webhook_test.go @@ -0,0 +1,1348 @@ +/* +Copyright 2023 The KServe Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package servingruntime + +import ( + "fmt" + "github.com/golang/protobuf/proto" + "github.com/kserve/kserve/pkg/apis/serving/v1alpha1" + "github.com/kserve/kserve/pkg/constants" + "github.com/onsi/gomega" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "testing" +) + +func TestValidateServingRuntimePriority(t *testing.T) { + scenarios := map[string]struct { + name string + newServingRuntime *v1alpha1.ServingRuntime + existingServingRuntime *v1alpha1.ServingRuntime + expected gomega.OmegaMatcher + }{ + "When both serving runtimes are not MMS it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "new-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "existing-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(true), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When priority is same for model format in multi model serving runtime then it should return error": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "new-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(true), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "existing-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(true), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.3.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.Equal(fmt.Errorf(InvalidPriorityError, "sklearn")), + }, + "When existing serving runtime is disabled it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "new-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "existing-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(true), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When new serving runtime and existing runtime are same it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When model format is same and supported protocol version is different it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When model format is different it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "lightgbm", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When autoselect is false in the new serving runtime it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(false), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When autoselect is not specified in the new serving runtime it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When autoselect is false in the existing serving runtime it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(false), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When model version is nil in both serving runtime and priority is same then it should return error": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.Equal(fmt.Errorf(InvalidPriorityError, "sklearn")), + }, + "When model version is nil in both serving runtime and priority is not same then it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + AutoSelect: proto.Bool(true), + Priority: proto.Int32(2), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When model version is nil in new serving runtime and priority is same then it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When model version is nil in existing serving runtime and priority is same then it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When model version is same in both serving runtime and priority is same then it should return error": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.Equal(fmt.Errorf(InvalidPriorityError, "sklearn")), + }, + "When model version is different but priority is same then it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1.3"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1.0"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When priority is nil in both serving runtime then it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When priority is nil in new serving runtime and priority is specified in existing serving runtime then it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + "When priority is nil in existing serving runtime and priority is specified in new serving runtime then it should return nil": { + newServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-1", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + Priority: proto.Int32(1), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "kserve/sklearnserver:latest", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + existingServingRuntime: &v1alpha1.ServingRuntime{ + ObjectMeta: metav1.ObjectMeta{ + Name: "example-runtime-2", + Namespace: "test", + }, + Spec: v1alpha1.ServingRuntimeSpec{ + SupportedModelFormats: []v1alpha1.SupportedModelFormat{ + { + Name: "sklearn", + Version: proto.String("1"), + AutoSelect: proto.Bool(true), + }, + }, + MultiModel: proto.Bool(false), + Disabled: proto.Bool(false), + ProtocolVersions: []constants.InferenceServiceProtocol{ + constants.ProtocolV1, + constants.ProtocolV2, + }, + ServingRuntimePodSpec: v1alpha1.ServingRuntimePodSpec{ + Containers: []corev1.Container{ + { + Name: constants.InferenceServiceContainerName, + Image: "seldonio/mlserver:1.2.0", + Args: []string{ + "--model_name={{.Name}}", + "--model_dir=/mnt/models", + "--http_port=8080", + }, + }, + }, + }, + }, + }, + expected: gomega.BeNil(), + }, + } + + for name, scenario := range scenarios { + t.Run(name, func(t *testing.T) { + g := gomega.NewGomegaWithT(t) + err := validateServingRuntimePriority(&scenario.newServingRuntime.Spec, &scenario.existingServingRuntime.Spec, + scenario.newServingRuntime.Name, scenario.existingServingRuntime.Name) + g.Expect(err).To(scenario.expected) + }) + } +} diff --git a/python/kserve/docs/V1alpha1BuiltInAdapter.md b/python/kserve/docs/V1alpha1BuiltInAdapter.md index afe50ffe74e..09dc36f111b 100644 --- a/python/kserve/docs/V1alpha1BuiltInAdapter.md +++ b/python/kserve/docs/V1alpha1BuiltInAdapter.md @@ -3,11 +3,11 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | Environment variables used to control other aspects of the built-in adapter's behaviour (uncommon) | [optional] -**mem_buffer_bytes** | **int** | Fixed memory overhead to subtract from runtime container's memory allocation to determine model capacity | [optional] -**model_loading_timeout_millis** | **int** | Timeout for model loading operations in milliseconds | [optional] -**runtime_management_port** | **int** | Port which the runtime server listens for model management requests | [optional] -**server_type** | **str** | ServerType must be one of the supported built-in types such as \"triton\" or \"mlserver\", and the runtime's container must have the same name | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | Environment variables used to control other aspects of the built-in adapter's behaviour (uncommon) | [optional] +**mem_buffer_bytes** | **int** | Fixed memory overhead to subtract from runtime container's memory allocation to determine model capacity | [optional] +**model_loading_timeout_millis** | **int** | Timeout for model loading operations in milliseconds | [optional] +**runtime_management_port** | **int** | Port which the runtime server listens for model management requests | [optional] +**server_type** | **str** | ServerType must be one of the supported built-in types such as \"triton\" or \"mlserver\", and the runtime's container must have the same name | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1ClusterServingRuntime.md b/python/kserve/docs/V1alpha1ClusterServingRuntime.md index 42600a9a155..6ad4ff351c2 100644 --- a/python/kserve/docs/V1alpha1ClusterServingRuntime.md +++ b/python/kserve/docs/V1alpha1ClusterServingRuntime.md @@ -4,11 +4,11 @@ ClusterServingRuntime is the Schema for the servingruntimes API ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] -**spec** | [**V1alpha1ServingRuntimeSpec**](V1alpha1ServingRuntimeSpec.md) | | [optional] -**status** | [**object**](.md) | ServingRuntimeStatus defines the observed state of ServingRuntime | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] +**spec** | [**V1alpha1ServingRuntimeSpec**](V1alpha1ServingRuntimeSpec.md) | | [optional] +**status** | [**object**](.md) | ServingRuntimeStatus defines the observed state of ServingRuntime | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1ClusterServingRuntimeList.md b/python/kserve/docs/V1alpha1ClusterServingRuntimeList.md index 4fd6ce03141..c0f36c6bc15 100644 --- a/python/kserve/docs/V1alpha1ClusterServingRuntimeList.md +++ b/python/kserve/docs/V1alpha1ClusterServingRuntimeList.md @@ -4,10 +4,10 @@ ServingRuntimeList contains a list of ServingRuntime ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] **items** | [**list[V1alpha1ClusterServingRuntime]**](V1alpha1ClusterServingRuntime.md) | | -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1InferenceGraph.md b/python/kserve/docs/V1alpha1InferenceGraph.md index 7a3ea4819c9..7073d971529 100644 --- a/python/kserve/docs/V1alpha1InferenceGraph.md +++ b/python/kserve/docs/V1alpha1InferenceGraph.md @@ -4,11 +4,11 @@ InferenceGraph is the Schema for the InferenceGraph API for multiple models ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] -**spec** | [**V1alpha1InferenceGraphSpec**](V1alpha1InferenceGraphSpec.md) | | [optional] -**status** | [**V1alpha1InferenceGraphStatus**](V1alpha1InferenceGraphStatus.md) | | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] +**spec** | [**V1alpha1InferenceGraphSpec**](V1alpha1InferenceGraphSpec.md) | | [optional] +**status** | [**V1alpha1InferenceGraphStatus**](V1alpha1InferenceGraphStatus.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1InferenceGraphList.md b/python/kserve/docs/V1alpha1InferenceGraphList.md index 378495546c4..a3d9faeea3f 100644 --- a/python/kserve/docs/V1alpha1InferenceGraphList.md +++ b/python/kserve/docs/V1alpha1InferenceGraphList.md @@ -4,10 +4,10 @@ InferenceGraphList contains a list of InferenceGraph ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] **items** | [**list[V1alpha1InferenceGraph]**](V1alpha1InferenceGraph.md) | | -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1InferenceGraphSpec.md b/python/kserve/docs/V1alpha1InferenceGraphSpec.md index 1177078591a..eeaf6111519 100644 --- a/python/kserve/docs/V1alpha1InferenceGraphSpec.md +++ b/python/kserve/docs/V1alpha1InferenceGraphSpec.md @@ -4,9 +4,9 @@ InferenceGraphSpec defines the InferenceGraph spec ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] **nodes** | [**dict(str, V1alpha1InferenceRouter)**](V1alpha1InferenceRouter.md) | Map of InferenceGraph router nodes Each node defines the router which can be different routing types | -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1InferenceGraphStatus.md b/python/kserve/docs/V1alpha1InferenceGraphStatus.md index 7a9447aa367..74f45ac6600 100644 --- a/python/kserve/docs/V1alpha1InferenceGraphStatus.md +++ b/python/kserve/docs/V1alpha1InferenceGraphStatus.md @@ -4,10 +4,10 @@ InferenceGraphStatus defines the InferenceGraph conditions and status ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**annotations** | **dict(str, str)** | Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards. | [optional] -**conditions** | [**list[KnativeCondition]**](KnativeCondition.md) | Conditions the latest available observations of a resource's current state. | [optional] -**observed_generation** | **int** | ObservedGeneration is the 'Generation' of the Service that was last processed by the controller. | [optional] -**url** | [**KnativeURL**](KnativeURL.md) | | [optional] +**annotations** | **dict(str, str)** | Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards. | [optional] +**conditions** | [**list[KnativeCondition]**](KnativeCondition.md) | Conditions the latest available observations of a resource's current state. | [optional] +**observed_generation** | **int** | ObservedGeneration is the 'Generation' of the Service that was last processed by the controller. | [optional] +**url** | [**KnativeURL**](KnativeURL.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1InferenceRouter.md b/python/kserve/docs/V1alpha1InferenceRouter.md index aa1772ba035..c4beab0a879 100644 --- a/python/kserve/docs/V1alpha1InferenceRouter.md +++ b/python/kserve/docs/V1alpha1InferenceRouter.md @@ -5,7 +5,7 @@ InferenceRouter defines the router for each InferenceGraph node with one or mult Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **router_type** | **str** | RouterType - `Sequence:` chain multiple inference steps with input/output from previous step - `Splitter:` randomly routes to the target service according to the weight - `Ensemble:` routes the request to multiple models and then merge the responses - `Switch:` routes the request to one of the steps based on condition | [default to ''] -**steps** | [**list[V1alpha1InferenceStep]**](V1alpha1InferenceStep.md) | Steps defines destinations for the current router node | [optional] +**steps** | [**list[V1alpha1InferenceStep]**](V1alpha1InferenceStep.md) | Steps defines destinations for the current router node | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1InferenceStep.md b/python/kserve/docs/V1alpha1InferenceStep.md index 76544f0f10a..1d9853df264 100644 --- a/python/kserve/docs/V1alpha1InferenceStep.md +++ b/python/kserve/docs/V1alpha1InferenceStep.md @@ -4,13 +4,13 @@ InferenceStep defines the inference target of the current step with condition, w ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**condition** | **str** | routing based on the condition | [optional] -**data** | **str** | request data sent to the next route with input/output from the previous step $request $response.predictions | [optional] -**name** | **str** | Unique name for the step within this node | [optional] -**node_name** | **str** | The node name for routing as next step | [optional] -**service_name** | **str** | named reference for InferenceService | [optional] -**service_url** | **str** | InferenceService URL, mutually exclusive with ServiceName | [optional] -**weight** | **int** | the weight for split of the traffic, only used for Split Router when weight is specified all the routing targets should be sum to 100 | [optional] +**condition** | **str** | routing based on the condition | [optional] +**data** | **str** | request data sent to the next route with input/output from the previous step $request $response.predictions | [optional] +**name** | **str** | Unique name for the step within this node | [optional] +**node_name** | **str** | The node name for routing as next step | [optional] +**service_name** | **str** | named reference for InferenceService | [optional] +**service_url** | **str** | InferenceService URL, mutually exclusive with ServiceName | [optional] +**weight** | **int** | the weight for split of the traffic, only used for Split Router when weight is specified all the routing targets should be sum to 100 | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1InferenceTarget.md b/python/kserve/docs/V1alpha1InferenceTarget.md index 4d51b4ff4a7..137ca25b747 100644 --- a/python/kserve/docs/V1alpha1InferenceTarget.md +++ b/python/kserve/docs/V1alpha1InferenceTarget.md @@ -4,9 +4,9 @@ Exactly one InferenceTarget field must be specified ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**node_name** | **str** | The node name for routing as next step | [optional] -**service_name** | **str** | named reference for InferenceService | [optional] -**service_url** | **str** | InferenceService URL, mutually exclusive with ServiceName | [optional] +**node_name** | **str** | The node name for routing as next step | [optional] +**service_name** | **str** | named reference for InferenceService | [optional] +**service_url** | **str** | InferenceService URL, mutually exclusive with ServiceName | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1ServingRuntime.md b/python/kserve/docs/V1alpha1ServingRuntime.md index 66f4d851f0a..935e6ef6f45 100644 --- a/python/kserve/docs/V1alpha1ServingRuntime.md +++ b/python/kserve/docs/V1alpha1ServingRuntime.md @@ -4,11 +4,11 @@ ServingRuntime is the Schema for the servingruntimes API ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] -**spec** | [**V1alpha1ServingRuntimeSpec**](V1alpha1ServingRuntimeSpec.md) | | [optional] -**status** | [**object**](.md) | ServingRuntimeStatus defines the observed state of ServingRuntime | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] +**spec** | [**V1alpha1ServingRuntimeSpec**](V1alpha1ServingRuntimeSpec.md) | | [optional] +**status** | [**object**](.md) | ServingRuntimeStatus defines the observed state of ServingRuntime | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1ServingRuntimeList.md b/python/kserve/docs/V1alpha1ServingRuntimeList.md index c71c946be0d..0b93cc3298b 100644 --- a/python/kserve/docs/V1alpha1ServingRuntimeList.md +++ b/python/kserve/docs/V1alpha1ServingRuntimeList.md @@ -4,10 +4,10 @@ ServingRuntimeList contains a list of ServingRuntime ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] **items** | [**list[V1alpha1ServingRuntime]**](V1alpha1ServingRuntime.md) | | -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1ServingRuntimePodSpec.md b/python/kserve/docs/V1alpha1ServingRuntimePodSpec.md index 69e824332a2..31f81d73db4 100644 --- a/python/kserve/docs/V1alpha1ServingRuntimePodSpec.md +++ b/python/kserve/docs/V1alpha1ServingRuntimePodSpec.md @@ -3,14 +3,14 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**annotations** | **dict(str, str)** | Annotations that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**annotations** | **dict(str, str)** | Annotations that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] **containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**labels** | **dict(str, str)** | Labels that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**labels** | **dict(str, str)** | Labels that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1ServingRuntimeSpec.md b/python/kserve/docs/V1alpha1ServingRuntimeSpec.md index 64ae5d864d0..fd6aad2fae7 100644 --- a/python/kserve/docs/V1alpha1ServingRuntimeSpec.md +++ b/python/kserve/docs/V1alpha1ServingRuntimeSpec.md @@ -4,24 +4,24 @@ ServingRuntimeSpec defines the desired state of ServingRuntime. This spec is cur ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**annotations** | **dict(str, str)** | Annotations that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] -**built_in_adapter** | [**V1alpha1BuiltInAdapter**](V1alpha1BuiltInAdapter.md) | | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**annotations** | **dict(str, str)** | Annotations that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**built_in_adapter** | [**V1alpha1BuiltInAdapter**](V1alpha1BuiltInAdapter.md) | | [optional] **containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | -**disabled** | **bool** | Set to true to disable use of this runtime | [optional] -**grpc_data_endpoint** | **str** | Grpc endpoint for inferencing | [optional] -**grpc_endpoint** | **str** | Grpc endpoint for internal model-management (implementing mmesh.ModelRuntime gRPC service) Assumed to be single-model runtime if omitted | [optional] -**http_data_endpoint** | **str** | HTTP endpoint for inferencing | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**labels** | **dict(str, str)** | Labels that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] -**multi_model** | **bool** | Whether this ServingRuntime is intended for multi-model usage or not. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**protocol_versions** | **list[str]** | Supported protocol versions (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**replicas** | **int** | Configure the number of replicas in the Deployment generated by this ServingRuntime If specified, this overrides the podsPerRuntime configuration value | [optional] -**storage_helper** | [**V1alpha1StorageHelper**](V1alpha1StorageHelper.md) | | [optional] -**supported_model_formats** | [**list[V1alpha1SupportedModelFormat]**](V1alpha1SupportedModelFormat.md) | Model formats and version supported by this runtime | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**disabled** | **bool** | Set to true to disable use of this runtime | [optional] +**grpc_data_endpoint** | **str** | Grpc endpoint for inferencing | [optional] +**grpc_endpoint** | **str** | Grpc endpoint for internal model-management (implementing mmesh.ModelRuntime gRPC service) Assumed to be single-model runtime if omitted | [optional] +**http_data_endpoint** | **str** | HTTP endpoint for inferencing | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**labels** | **dict(str, str)** | Labels that will be add to the pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**multi_model** | **bool** | Whether this ServingRuntime is intended for multi-model usage or not. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**protocol_versions** | **list[str]** | Supported protocol versions (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**replicas** | **int** | Configure the number of replicas in the Deployment generated by this ServingRuntime If specified, this overrides the podsPerRuntime configuration value | [optional] +**storage_helper** | [**V1alpha1StorageHelper**](V1alpha1StorageHelper.md) | | [optional] +**supported_model_formats** | [**list[V1alpha1SupportedModelFormat]**](V1alpha1SupportedModelFormat.md) | Model formats and version supported by this runtime | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1StorageHelper.md b/python/kserve/docs/V1alpha1StorageHelper.md index 94d87cdd806..57294a686ca 100644 --- a/python/kserve/docs/V1alpha1StorageHelper.md +++ b/python/kserve/docs/V1alpha1StorageHelper.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**disabled** | **bool** | | [optional] +**disabled** | **bool** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1SupportedModelFormat.md b/python/kserve/docs/V1alpha1SupportedModelFormat.md index f52831d87f0..b7fc266d8bf 100644 --- a/python/kserve/docs/V1alpha1SupportedModelFormat.md +++ b/python/kserve/docs/V1alpha1SupportedModelFormat.md @@ -3,9 +3,10 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auto_select** | **bool** | Set to true to allow the ServingRuntime to be used for automatic model placement if this model format is specified with no explicit runtime. | [optional] -**name** | **str** | Name of the model format. | [optional][default to ''] -**version** | **str** | Version of the model format. Used in validating that a predictor is supported by a runtime. Can be \"major\", \"major.minor\" or \"major.minor.patch\". | [optional] +**auto_select** | **bool** | Set to true to allow the ServingRuntime to be used for automatic model placement if this model format is specified with no explicit runtime. | [optional] +**name** | **str** | Name of the model format. | [optional] [default to ''] +**priority** | **int** | Priority of this serving runtime for auto selection. This is used to select the serving runtime if more than one serving runtime supports the same model format. The value should be greater than zero. The higher the value, the higher the priority. Priority is not considered if AutoSelect is either false or not specified. Priority can be overridden by specifying the runtime in the InferenceService. | [optional] +**version** | **str** | Version of the model format. Used in validating that a predictor is supported by a runtime. Can be \"major\", \"major.minor\" or \"major.minor.patch\". | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1TrainedModel.md b/python/kserve/docs/V1alpha1TrainedModel.md index 1011068e343..3b2bc86076c 100644 --- a/python/kserve/docs/V1alpha1TrainedModel.md +++ b/python/kserve/docs/V1alpha1TrainedModel.md @@ -4,11 +4,11 @@ TrainedModel is the Schema for the TrainedModel API ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] -**spec** | [**V1alpha1TrainedModelSpec**](V1alpha1TrainedModelSpec.md) | | [optional] -**status** | [**V1alpha1TrainedModelStatus**](V1alpha1TrainedModelStatus.md) | | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] +**spec** | [**V1alpha1TrainedModelSpec**](V1alpha1TrainedModelSpec.md) | | [optional] +**status** | [**V1alpha1TrainedModelStatus**](V1alpha1TrainedModelStatus.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1alpha1TrainedModelList.md b/python/kserve/docs/V1alpha1TrainedModelList.md index 48fd52d9886..4cb93713a36 100644 --- a/python/kserve/docs/V1alpha1TrainedModelList.md +++ b/python/kserve/docs/V1alpha1TrainedModelList.md @@ -4,10 +4,10 @@ TrainedModelList contains a list of TrainedModel ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] **items** | [**list[V1alpha1TrainedModel]**](V1alpha1TrainedModel.md) | | -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ARTExplainerSpec.md b/python/kserve/docs/V1beta1ARTExplainerSpec.md index 1b5db4b45ad..b2cdcf096a9 100644 --- a/python/kserve/docs/V1beta1ARTExplainerSpec.md +++ b/python/kserve/docs/V1beta1ARTExplainerSpec.md @@ -4,33 +4,33 @@ ARTExplainerType defines the arguments for configuring an ART Explanation Server ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**config** | **dict(str, str)** | Inline custom parameter settings for explainer | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**config** | **dict(str, str)** | Inline custom parameter settings for explainer | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] **name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Defaults to latest Explainer Version | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | The location of a trained explanation model | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Defaults to latest Explainer Version | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | The location of a trained explanation model | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] **type** | **str** | The type of ART explainer | [default to ''] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1AlibiExplainerSpec.md b/python/kserve/docs/V1beta1AlibiExplainerSpec.md index 0491eb54018..275180bad13 100644 --- a/python/kserve/docs/V1beta1AlibiExplainerSpec.md +++ b/python/kserve/docs/V1beta1AlibiExplainerSpec.md @@ -4,33 +4,33 @@ AlibiExplainerSpec defines the arguments for configuring an Alibi Explanation Se ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**config** | **dict(str, str)** | Inline custom parameter settings for explainer | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**config** | **dict(str, str)** | Inline custom parameter settings for explainer | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] **name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Defaults to latest Explainer Version | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | The location of a trained explanation model | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Defaults to latest Explainer Version | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | The location of a trained explanation model | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] **type** | **str** | The type of Alibi explainer <br /> Valid values are: <br /> - \"AnchorTabular\"; <br /> - \"AnchorImages\"; <br /> - \"AnchorText\"; <br /> - \"Counterfactuals\"; <br /> - \"Contrastive\"; <br /> | [default to ''] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1Batcher.md b/python/kserve/docs/V1beta1Batcher.md index a050c027ca2..fcb1da653e9 100644 --- a/python/kserve/docs/V1beta1Batcher.md +++ b/python/kserve/docs/V1beta1Batcher.md @@ -4,9 +4,9 @@ Batcher specifies optional payload batching available for all components ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**max_batch_size** | **int** | Specifies the max number of requests to trigger a batch | [optional] -**max_latency** | **int** | Specifies the max latency to trigger a batch | [optional] -**timeout** | **int** | Specifies the timeout of a batch | [optional] +**max_batch_size** | **int** | Specifies the max number of requests to trigger a batch | [optional] +**max_latency** | **int** | Specifies the max latency to trigger a batch | [optional] +**timeout** | **int** | Specifies the timeout of a batch | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ComponentExtensionSpec.md b/python/kserve/docs/V1beta1ComponentExtensionSpec.md index 4e9275185b8..a44bc4bcc85 100644 --- a/python/kserve/docs/V1beta1ComponentExtensionSpec.md +++ b/python/kserve/docs/V1beta1ComponentExtensionSpec.md @@ -4,17 +4,17 @@ ComponentExtensionSpec defines the deployment configuration for a given Inferenc ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] -**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] -**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] -**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] -**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] -**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] -**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] -**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] -**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] -**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] -**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] +**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] +**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] +**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] +**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] +**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] +**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] +**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] +**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] +**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ComponentStatusSpec.md b/python/kserve/docs/V1beta1ComponentStatusSpec.md index 44f225ab6e3..923e284359f 100644 --- a/python/kserve/docs/V1beta1ComponentStatusSpec.md +++ b/python/kserve/docs/V1beta1ComponentStatusSpec.md @@ -4,15 +4,15 @@ ComponentStatusSpec describes the state of the component ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**address** | [**KnativeAddressable**](KnativeAddressable.md) | | [optional] -**grpc_url** | [**KnativeURL**](KnativeURL.md) | | [optional] -**latest_created_revision** | **str** | Latest revision name that is created | [optional] -**latest_ready_revision** | **str** | Latest revision name that is in ready state | [optional] -**latest_rolledout_revision** | **str** | Latest revision name that is rolled out with 100 percent traffic | [optional] -**previous_rolledout_revision** | **str** | Previous revision name that is rolled out with 100 percent traffic | [optional] -**rest_url** | [**KnativeURL**](KnativeURL.md) | | [optional] -**traffic** | [**list[KnativeDevServingPkgApisServingV1TrafficTarget]**](KnativeDevServingPkgApisServingV1TrafficTarget.md) | Traffic holds the configured traffic distribution for latest ready revision and previous rolled out revision. | [optional] -**url** | [**KnativeURL**](KnativeURL.md) | | [optional] +**address** | [**KnativeAddressable**](KnativeAddressable.md) | | [optional] +**grpc_url** | [**KnativeURL**](KnativeURL.md) | | [optional] +**latest_created_revision** | **str** | Latest revision name that is created | [optional] +**latest_ready_revision** | **str** | Latest revision name that is in ready state | [optional] +**latest_rolledout_revision** | **str** | Latest revision name that is rolled out with 100 percent traffic | [optional] +**previous_rolledout_revision** | **str** | Previous revision name that is rolled out with 100 percent traffic | [optional] +**rest_url** | [**KnativeURL**](KnativeURL.md) | | [optional] +**traffic** | [**list[KnativeDevServingPkgApisServingV1TrafficTarget]**](KnativeDevServingPkgApisServingV1TrafficTarget.md) | Traffic holds the configured traffic distribution for latest ready revision and previous rolled out revision. | [optional] +**url** | [**KnativeURL**](KnativeURL.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1CustomExplainer.md b/python/kserve/docs/V1beta1CustomExplainer.md index de622dc135f..4c5f6cd7195 100644 --- a/python/kserve/docs/V1beta1CustomExplainer.md +++ b/python/kserve/docs/V1beta1CustomExplainer.md @@ -4,45 +4,45 @@ CustomExplainer defines arguments for configuring a custom explainer. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] +**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] **containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | -**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] -**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] -**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] -**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. | [optional] -**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] -**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] -**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] -**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] -**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] -**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] -**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**os** | [**V1PodOS**](V1PodOS.md) | | [optional] -**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md | [optional] -**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. | [optional] -**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] -**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] -**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] -**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] -**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] -**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class | [optional] -**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] -**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. | [optional] -**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] -**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] -**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] -**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] -**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] -**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] -**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] +**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] +**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] +**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. | [optional] +**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] +**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] +**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] +**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] +**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] +**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] +**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**os** | [**V1PodOS**](V1PodOS.md) | | [optional] +**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md | [optional] +**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. | [optional] +**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] +**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] +**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] +**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] +**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] +**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class | [optional] +**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] +**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. | [optional] +**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] +**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] +**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] +**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] +**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] +**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] +**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1CustomPredictor.md b/python/kserve/docs/V1beta1CustomPredictor.md index 5cf5417534a..a8fdb2bc3a6 100644 --- a/python/kserve/docs/V1beta1CustomPredictor.md +++ b/python/kserve/docs/V1beta1CustomPredictor.md @@ -4,45 +4,45 @@ CustomPredictor defines arguments for configuring a custom server. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] +**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] **containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | -**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] -**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] -**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] -**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. | [optional] -**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] -**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] -**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] -**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] -**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] -**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] -**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**os** | [**V1PodOS**](V1PodOS.md) | | [optional] -**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md | [optional] -**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. | [optional] -**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] -**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] -**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] -**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] -**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] -**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class | [optional] -**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] -**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. | [optional] -**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] -**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] -**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] -**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] -**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] -**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] -**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] +**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] +**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] +**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. | [optional] +**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] +**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] +**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] +**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] +**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] +**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] +**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**os** | [**V1PodOS**](V1PodOS.md) | | [optional] +**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md | [optional] +**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. | [optional] +**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] +**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] +**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] +**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] +**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] +**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class | [optional] +**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] +**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. | [optional] +**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] +**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] +**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] +**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] +**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] +**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] +**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1CustomTransformer.md b/python/kserve/docs/V1beta1CustomTransformer.md index 1cf89be9955..6821f45c70c 100644 --- a/python/kserve/docs/V1beta1CustomTransformer.md +++ b/python/kserve/docs/V1beta1CustomTransformer.md @@ -4,45 +4,45 @@ CustomTransformer defines arguments for configuring a custom transformer. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] +**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] **containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | -**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] -**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] -**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] -**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. | [optional] -**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] -**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] -**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] -**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] -**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] -**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] -**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**os** | [**V1PodOS**](V1PodOS.md) | | [optional] -**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md | [optional] -**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. | [optional] -**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] -**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] -**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] -**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] -**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] -**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class | [optional] -**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] -**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. | [optional] -**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] -**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] -**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] -**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] -**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] -**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] -**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] +**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] +**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] +**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. | [optional] +**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] +**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] +**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] +**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] +**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] +**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] +**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**os** | [**V1PodOS**](V1PodOS.md) | | [optional] +**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md | [optional] +**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. | [optional] +**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] +**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] +**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] +**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] +**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] +**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class | [optional] +**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] +**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. More info: https://git.k8s.io/enhancements/keps/sig-scheduling/3521-pod-scheduling-readiness. This is an alpha-level feature enabled by PodSchedulingReadiness feature gate. | [optional] +**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] +**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] +**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] +**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] +**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] +**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] +**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1DeployConfig.md b/python/kserve/docs/V1beta1DeployConfig.md index c5f27ba3204..9b1d3341b75 100644 --- a/python/kserve/docs/V1beta1DeployConfig.md +++ b/python/kserve/docs/V1beta1DeployConfig.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**default_deployment_mode** | **str** | | [optional] +**default_deployment_mode** | **str** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ExplainerExtensionSpec.md b/python/kserve/docs/V1beta1ExplainerExtensionSpec.md index e2f1f73771f..b6d9b30f2ad 100644 --- a/python/kserve/docs/V1beta1ExplainerExtensionSpec.md +++ b/python/kserve/docs/V1beta1ExplainerExtensionSpec.md @@ -4,32 +4,32 @@ ExplainerExtensionSpec defines configuration shared across all explainer framewo ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**config** | **dict(str, str)** | Inline custom parameter settings for explainer | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Defaults to latest Explainer Version | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | The location of a trained explanation model | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**config** | **dict(str, str)** | Inline custom parameter settings for explainer | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Defaults to latest Explainer Version | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | The location of a trained explanation model | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ExplainerSpec.md b/python/kserve/docs/V1beta1ExplainerSpec.md index 0c2a51227f4..45809ed85e9 100644 --- a/python/kserve/docs/V1beta1ExplainerSpec.md +++ b/python/kserve/docs/V1beta1ExplainerSpec.md @@ -4,58 +4,58 @@ ExplainerSpec defines the container spec for a model explanation server, The fol ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**alibi** | [**V1beta1AlibiExplainerSpec**](V1beta1AlibiExplainerSpec.md) | | [optional] -**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] -**art** | [**V1beta1ARTExplainerSpec**](V1beta1ARTExplainerSpec.md) | | [optional] -**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] -**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] -**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] -**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] -**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] -**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] -**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] -**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] -**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] -**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] -**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] -**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] -**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] -**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] -**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] -**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] -**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] -**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] -**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] -**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**os** | [**V1PodOS**](V1PodOS.md) | | [optional] -**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] -**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] -**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] -**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] -**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] -**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] -**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] -**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] -**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] -**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] -**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] -**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] -**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] -**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] -**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] -**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] -**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] -**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] -**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] -**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**alibi** | [**V1beta1AlibiExplainerSpec**](V1beta1AlibiExplainerSpec.md) | | [optional] +**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**art** | [**V1beta1ARTExplainerSpec**](V1beta1ARTExplainerSpec.md) | | [optional] +**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] +**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] +**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] +**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] +**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] +**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] +**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] +**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] +**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] +**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] +**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] +**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] +**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] +**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] +**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] +**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] +**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] +**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] +**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**os** | [**V1PodOS**](V1PodOS.md) | | [optional] +**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] +**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] +**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] +**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] +**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] +**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] +**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] +**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] +**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] +**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] +**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] +**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] +**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] +**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] +**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] +**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] +**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] +**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] +**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] +**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ExplainersConfig.md b/python/kserve/docs/V1beta1ExplainersConfig.md index a12e9be25c3..be675d0a4dd 100644 --- a/python/kserve/docs/V1beta1ExplainersConfig.md +++ b/python/kserve/docs/V1beta1ExplainersConfig.md @@ -3,8 +3,8 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**alibi** | [**V1beta1ExplainerConfig**](V1beta1ExplainerConfig.md) | | [optional] -**art** | [**V1beta1ExplainerConfig**](V1beta1ExplainerConfig.md) | | [optional] +**alibi** | [**V1beta1ExplainerConfig**](V1beta1ExplainerConfig.md) | | [optional] +**art** | [**V1beta1ExplainerConfig**](V1beta1ExplainerConfig.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1FailureInfo.md b/python/kserve/docs/V1beta1FailureInfo.md index 7985cadf36f..176fa7bf74a 100644 --- a/python/kserve/docs/V1beta1FailureInfo.md +++ b/python/kserve/docs/V1beta1FailureInfo.md @@ -3,12 +3,12 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**exit_code** | **int** | Exit status from the last termination of the container | [optional] -**location** | **str** | Name of component to which the failure relates (usually Pod name) | [optional] -**message** | **str** | Detailed error message | [optional] -**model_revision_name** | **str** | Internal Revision/ID of model, tied to specific Spec contents | [optional] -**reason** | **str** | High level class of failure | [optional] -**time** | [**V1Time**](V1Time.md) | | [optional] +**exit_code** | **int** | Exit status from the last termination of the container | [optional] +**location** | **str** | Name of component to which the failure relates (usually Pod name) | [optional] +**message** | **str** | Detailed error message | [optional] +**model_revision_name** | **str** | Internal Revision/ID of model, tied to specific Spec contents | [optional] +**reason** | **str** | High level class of failure | [optional] +**time** | [**V1Time**](V1Time.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1InferenceService.md b/python/kserve/docs/V1beta1InferenceService.md index eccc7272541..d989ef643da 100644 --- a/python/kserve/docs/V1beta1InferenceService.md +++ b/python/kserve/docs/V1beta1InferenceService.md @@ -4,11 +4,11 @@ InferenceService is the Schema for the InferenceServices API ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] -**spec** | [**V1beta1InferenceServiceSpec**](V1beta1InferenceServiceSpec.md) | | [optional] -**status** | [**V1beta1InferenceServiceStatus**](V1beta1InferenceServiceStatus.md) | | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ObjectMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ObjectMeta.md) | | [optional] +**spec** | [**V1beta1InferenceServiceSpec**](V1beta1InferenceServiceSpec.md) | | [optional] +**status** | [**V1beta1InferenceServiceStatus**](V1beta1InferenceServiceStatus.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1InferenceServiceList.md b/python/kserve/docs/V1beta1InferenceServiceList.md index e6538421413..b89969df09d 100644 --- a/python/kserve/docs/V1beta1InferenceServiceList.md +++ b/python/kserve/docs/V1beta1InferenceServiceList.md @@ -4,10 +4,10 @@ InferenceServiceList contains a list of Service ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] +**api_version** | **str** | APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | [optional] **items** | [**list[V1beta1InferenceService]**](V1beta1InferenceService.md) | | -**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] -**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] +**kind** | **str** | Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | [optional] +**metadata** | [**V1ListMeta**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ListMeta.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1InferenceServiceSpec.md b/python/kserve/docs/V1beta1InferenceServiceSpec.md index e43b2ce0f2b..b186333bd10 100644 --- a/python/kserve/docs/V1beta1InferenceServiceSpec.md +++ b/python/kserve/docs/V1beta1InferenceServiceSpec.md @@ -4,9 +4,9 @@ InferenceServiceSpec is the top level type for this resource ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**explainer** | [**V1beta1ExplainerSpec**](V1beta1ExplainerSpec.md) | | [optional] +**explainer** | [**V1beta1ExplainerSpec**](V1beta1ExplainerSpec.md) | | [optional] **predictor** | [**V1beta1PredictorSpec**](V1beta1PredictorSpec.md) | | -**transformer** | [**V1beta1TransformerSpec**](V1beta1TransformerSpec.md) | | [optional] +**transformer** | [**V1beta1TransformerSpec**](V1beta1TransformerSpec.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1InferenceServiceStatus.md b/python/kserve/docs/V1beta1InferenceServiceStatus.md index 81a820ed915..e841d69c05d 100644 --- a/python/kserve/docs/V1beta1InferenceServiceStatus.md +++ b/python/kserve/docs/V1beta1InferenceServiceStatus.md @@ -4,13 +4,13 @@ InferenceServiceStatus defines the observed state of InferenceService ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**address** | [**KnativeAddressable**](KnativeAddressable.md) | | [optional] -**annotations** | **dict(str, str)** | Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards. | [optional] -**components** | [**dict(str, V1beta1ComponentStatusSpec)**](V1beta1ComponentStatusSpec.md) | Statuses for the components of the InferenceService | [optional] -**conditions** | [**list[KnativeCondition]**](KnativeCondition.md) | Conditions the latest available observations of a resource's current state. | [optional] -**model_status** | [**V1beta1ModelStatus**](V1beta1ModelStatus.md) | | [optional] -**observed_generation** | **int** | ObservedGeneration is the 'Generation' of the Service that was last processed by the controller. | [optional] -**url** | [**KnativeURL**](KnativeURL.md) | | [optional] +**address** | [**KnativeAddressable**](KnativeAddressable.md) | | [optional] +**annotations** | **dict(str, str)** | Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards. | [optional] +**components** | [**dict(str, V1beta1ComponentStatusSpec)**](V1beta1ComponentStatusSpec.md) | Statuses for the components of the InferenceService | [optional] +**conditions** | [**list[KnativeCondition]**](KnativeCondition.md) | Conditions the latest available observations of a resource's current state. | [optional] +**model_status** | [**V1beta1ModelStatus**](V1beta1ModelStatus.md) | | [optional] +**observed_generation** | **int** | ObservedGeneration is the 'Generation' of the Service that was last processed by the controller. | [optional] +**url** | [**KnativeURL**](KnativeURL.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1IngressConfig.md b/python/kserve/docs/V1beta1IngressConfig.md index d838d441c65..b5071ef905b 100644 --- a/python/kserve/docs/V1beta1IngressConfig.md +++ b/python/kserve/docs/V1beta1IngressConfig.md @@ -3,16 +3,16 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**disable_istio_virtual_host** | **bool** | | [optional] -**domain_template** | **str** | | [optional] -**ingress_class_name** | **str** | | [optional] -**ingress_domain** | **str** | | [optional] -**ingress_gateway** | **str** | | [optional] -**ingress_service** | **str** | | [optional] -**local_gateway** | **str** | | [optional] -**local_gateway_service** | **str** | | [optional] -**path_template** | **str** | | [optional] -**url_scheme** | **str** | | [optional] +**disable_istio_virtual_host** | **bool** | | [optional] +**domain_template** | **str** | | [optional] +**ingress_class_name** | **str** | | [optional] +**ingress_domain** | **str** | | [optional] +**ingress_gateway** | **str** | | [optional] +**ingress_service** | **str** | | [optional] +**local_gateway** | **str** | | [optional] +**local_gateway_service** | **str** | | [optional] +**path_template** | **str** | | [optional] +**url_scheme** | **str** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1LightGBMSpec.md b/python/kserve/docs/V1beta1LightGBMSpec.md index ca93578b5f4..8da098d41f1 100644 --- a/python/kserve/docs/V1beta1LightGBMSpec.md +++ b/python/kserve/docs/V1beta1LightGBMSpec.md @@ -4,32 +4,32 @@ LightGBMSpec defines arguments for configuring LightGBMSpec model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1LoggerSpec.md b/python/kserve/docs/V1beta1LoggerSpec.md index 42ee8a0cf84..4a98586b7a1 100644 --- a/python/kserve/docs/V1beta1LoggerSpec.md +++ b/python/kserve/docs/V1beta1LoggerSpec.md @@ -4,8 +4,8 @@ LoggerSpec specifies optional payload logging available for all components ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**mode** | **str** | Specifies the scope of the loggers. <br /> Valid values are: <br /> - \"all\" (default): log both request and response; <br /> - \"request\": log only request; <br /> - \"response\": log only response <br /> | [optional] -**url** | **str** | URL to send logging events | [optional] +**mode** | **str** | Specifies the scope of the loggers. <br /> Valid values are: <br /> - \"all\" (default): log both request and response; <br /> - \"request\": log only request; <br /> - \"response\": log only response <br /> | [optional] +**url** | **str** | URL to send logging events | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ModelCopies.md b/python/kserve/docs/V1beta1ModelCopies.md index acb380303da..4da822ff85b 100644 --- a/python/kserve/docs/V1beta1ModelCopies.md +++ b/python/kserve/docs/V1beta1ModelCopies.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **failed_copies** | **int** | How many copies of this predictor's models failed to load recently | [default to 0] -**total_copies** | **int** | Total number copies of this predictor's models that are currently loaded | [optional] +**total_copies** | **int** | Total number copies of this predictor's models that are currently loaded | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ModelFormat.md b/python/kserve/docs/V1beta1ModelFormat.md index ef1ec9c4d3c..41203fce921 100644 --- a/python/kserve/docs/V1beta1ModelFormat.md +++ b/python/kserve/docs/V1beta1ModelFormat.md @@ -3,8 +3,8 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | Name of the model format. | [optional][default to ''] -**version** | **str** | Version of the model format. Used in validating that a predictor is supported by a runtime. Can be \"major\", \"major.minor\" or \"major.minor.patch\". | [optional] +**name** | **str** | Name of the model format. | [optional] [default to ''] +**version** | **str** | Version of the model format. Used in validating that a predictor is supported by a runtime. Can be \"major\", \"major.minor\" or \"major.minor.patch\". | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ModelRevisionStates.md b/python/kserve/docs/V1beta1ModelRevisionStates.md index 5469ff1a59a..de314976e17 100644 --- a/python/kserve/docs/V1beta1ModelRevisionStates.md +++ b/python/kserve/docs/V1beta1ModelRevisionStates.md @@ -4,7 +4,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **active_model_state** | **str** | High level state string: Pending, Standby, Loading, Loaded, FailedToLoad | [default to ''] -**target_model_state** | **str** | | [optional] +**target_model_state** | **str** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ModelSpec.md b/python/kserve/docs/V1beta1ModelSpec.md index 7c2a41e8ff6..cdfea155450 100644 --- a/python/kserve/docs/V1beta1ModelSpec.md +++ b/python/kserve/docs/V1beta1ModelSpec.md @@ -3,34 +3,34 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] **model_format** | [**V1beta1ModelFormat**](V1beta1ModelFormat.md) | | -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime** | **str** | Specific ClusterServingRuntime/ServingRuntime name to use for deployment. | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime** | **str** | Specific ClusterServingRuntime/ServingRuntime name to use for deployment. | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ModelStatus.md b/python/kserve/docs/V1beta1ModelStatus.md index 00bb0bb0030..4c0b718c694 100644 --- a/python/kserve/docs/V1beta1ModelStatus.md +++ b/python/kserve/docs/V1beta1ModelStatus.md @@ -3,9 +3,9 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**copies** | [**V1beta1ModelCopies**](V1beta1ModelCopies.md) | | [optional] -**last_failure_info** | [**V1beta1FailureInfo**](V1beta1FailureInfo.md) | | [optional] -**states** | [**V1beta1ModelRevisionStates**](V1beta1ModelRevisionStates.md) | | [optional] +**copies** | [**V1beta1ModelCopies**](V1beta1ModelCopies.md) | | [optional] +**last_failure_info** | [**V1beta1FailureInfo**](V1beta1FailureInfo.md) | | [optional] +**states** | [**V1beta1ModelRevisionStates**](V1beta1ModelRevisionStates.md) | | [optional] **transition_status** | **str** | Whether the available predictor endpoints reflect the current Spec or is in transition | [default to ''] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1ONNXRuntimeSpec.md b/python/kserve/docs/V1beta1ONNXRuntimeSpec.md index 8c33674cbcd..b0b5bf9e738 100644 --- a/python/kserve/docs/V1beta1ONNXRuntimeSpec.md +++ b/python/kserve/docs/V1beta1ONNXRuntimeSpec.md @@ -4,32 +4,32 @@ ONNXRuntimeSpec defines arguments for configuring ONNX model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1PMMLSpec.md b/python/kserve/docs/V1beta1PMMLSpec.md index 2eeef9e48b8..d969f10b5ef 100644 --- a/python/kserve/docs/V1beta1PMMLSpec.md +++ b/python/kserve/docs/V1beta1PMMLSpec.md @@ -4,32 +4,32 @@ PMMLSpec defines arguments for configuring PMML model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1PaddleServerSpec.md b/python/kserve/docs/V1beta1PaddleServerSpec.md index 71905251562..87dc7ed1053 100644 --- a/python/kserve/docs/V1beta1PaddleServerSpec.md +++ b/python/kserve/docs/V1beta1PaddleServerSpec.md @@ -3,32 +3,32 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1PodSpec.md b/python/kserve/docs/V1beta1PodSpec.md index 7dc4d8cf99b..6a732b0bea7 100644 --- a/python/kserve/docs/V1beta1PodSpec.md +++ b/python/kserve/docs/V1beta1PodSpec.md @@ -4,45 +4,45 @@ PodSpec is a description of a pod. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] -**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] -**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] -**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] -**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] -**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] -**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] -**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] -**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] -**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] -**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] -**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] -**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**os** | [**V1PodOS**](V1PodOS.md) | | [optional] -**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] -**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] -**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] -**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] -**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] -**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] -**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] -**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] -**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] -**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] -**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] -**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] -**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] -**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] -**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] -**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] -**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] +**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] +**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] +**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] +**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] +**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] +**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] +**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] +**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] +**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] +**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] +**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] +**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**os** | [**V1PodOS**](V1PodOS.md) | | [optional] +**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] +**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] +**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] +**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] +**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] +**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] +**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] +**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] +**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] +**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] +**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] +**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] +**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] +**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] +**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] +**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] +**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1PredictorExtensionSpec.md b/python/kserve/docs/V1beta1PredictorExtensionSpec.md index d82bc9690b0..561152a621a 100644 --- a/python/kserve/docs/V1beta1PredictorExtensionSpec.md +++ b/python/kserve/docs/V1beta1PredictorExtensionSpec.md @@ -4,32 +4,32 @@ PredictorExtensionSpec defines configuration shared across all predictor framewo ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1PredictorSpec.md b/python/kserve/docs/V1beta1PredictorSpec.md index 0dba8b89180..9c8fff37661 100644 --- a/python/kserve/docs/V1beta1PredictorSpec.md +++ b/python/kserve/docs/V1beta1PredictorSpec.md @@ -4,66 +4,66 @@ PredictorSpec defines the configuration for a predictor, The following fields fo ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] -**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] -**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] -**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] -**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] -**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] -**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] -**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] -**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] -**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] -**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] -**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] -**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] -**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] -**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] -**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] -**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] -**lightgbm** | [**V1beta1LightGBMSpec**](V1beta1LightGBMSpec.md) | | [optional] -**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] -**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] -**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] -**model** | [**V1beta1ModelSpec**](V1beta1ModelSpec.md) | | [optional] -**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**onnx** | [**V1beta1ONNXRuntimeSpec**](V1beta1ONNXRuntimeSpec.md) | | [optional] -**os** | [**V1PodOS**](V1PodOS.md) | | [optional] -**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] -**paddle** | [**V1beta1PaddleServerSpec**](V1beta1PaddleServerSpec.md) | | [optional] -**pmml** | [**V1beta1PMMLSpec**](V1beta1PMMLSpec.md) | | [optional] -**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] -**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] -**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] -**pytorch** | [**V1beta1TorchServeSpec**](V1beta1TorchServeSpec.md) | | [optional] -**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] -**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] -**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] -**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] -**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] -**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] -**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] -**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] -**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] -**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] -**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] -**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] -**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] -**sklearn** | [**V1beta1SKLearnSpec**](V1beta1SKLearnSpec.md) | | [optional] -**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] -**tensorflow** | [**V1beta1TFServingSpec**](V1beta1TFServingSpec.md) | | [optional] -**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] -**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] -**triton** | [**V1beta1TritonSpec**](V1beta1TritonSpec.md) | | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] -**xgboost** | [**V1beta1XGBoostSpec**](V1beta1XGBoostSpec.md) | | [optional] +**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] +**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] +**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] +**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] +**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] +**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] +**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] +**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] +**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] +**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] +**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] +**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] +**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] +**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] +**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] +**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**lightgbm** | [**V1beta1LightGBMSpec**](V1beta1LightGBMSpec.md) | | [optional] +**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] +**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] +**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] +**model** | [**V1beta1ModelSpec**](V1beta1ModelSpec.md) | | [optional] +**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**onnx** | [**V1beta1ONNXRuntimeSpec**](V1beta1ONNXRuntimeSpec.md) | | [optional] +**os** | [**V1PodOS**](V1PodOS.md) | | [optional] +**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] +**paddle** | [**V1beta1PaddleServerSpec**](V1beta1PaddleServerSpec.md) | | [optional] +**pmml** | [**V1beta1PMMLSpec**](V1beta1PMMLSpec.md) | | [optional] +**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] +**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] +**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] +**pytorch** | [**V1beta1TorchServeSpec**](V1beta1TorchServeSpec.md) | | [optional] +**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] +**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] +**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] +**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] +**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] +**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] +**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] +**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] +**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] +**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] +**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] +**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] +**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] +**sklearn** | [**V1beta1SKLearnSpec**](V1beta1SKLearnSpec.md) | | [optional] +**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] +**tensorflow** | [**V1beta1TFServingSpec**](V1beta1TFServingSpec.md) | | [optional] +**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] +**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] +**triton** | [**V1beta1TritonSpec**](V1beta1TritonSpec.md) | | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**xgboost** | [**V1beta1XGBoostSpec**](V1beta1XGBoostSpec.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1SKLearnSpec.md b/python/kserve/docs/V1beta1SKLearnSpec.md index f62db2a725c..537bd8aeea5 100644 --- a/python/kserve/docs/V1beta1SKLearnSpec.md +++ b/python/kserve/docs/V1beta1SKLearnSpec.md @@ -4,32 +4,32 @@ SKLearnSpec defines arguments for configuring SKLearn model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1StorageSpec.md b/python/kserve/docs/V1beta1StorageSpec.md index 41e24140268..4460f8cb683 100644 --- a/python/kserve/docs/V1beta1StorageSpec.md +++ b/python/kserve/docs/V1beta1StorageSpec.md @@ -3,10 +3,10 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**key** | **str** | The Storage Key in the secret for this model. | [optional] -**parameters** | **dict(str, str)** | Parameters to override the default storage credentials and config. | [optional] -**path** | **str** | The path to the model object in the storage. It cannot co-exist with the storageURI. | [optional] -**schema_path** | **str** | The path to the model schema file in the storage. | [optional] +**key** | **str** | The Storage Key in the secret for this model. | [optional] +**parameters** | **dict(str, str)** | Parameters to override the default storage credentials and config. | [optional] +**path** | **str** | The path to the model object in the storage. It cannot co-exist with the storageURI. | [optional] +**schema_path** | **str** | The path to the model schema file in the storage. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1TFServingSpec.md b/python/kserve/docs/V1beta1TFServingSpec.md index 8f5ae10d3d9..9f7b0770535 100644 --- a/python/kserve/docs/V1beta1TFServingSpec.md +++ b/python/kserve/docs/V1beta1TFServingSpec.md @@ -4,32 +4,32 @@ TFServingSpec defines arguments for configuring Tensorflow model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1TorchServeSpec.md b/python/kserve/docs/V1beta1TorchServeSpec.md index f5d31017075..a98c00da34a 100644 --- a/python/kserve/docs/V1beta1TorchServeSpec.md +++ b/python/kserve/docs/V1beta1TorchServeSpec.md @@ -4,32 +4,32 @@ TorchServeSpec defines arguments for configuring PyTorch model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1TransformerSpec.md b/python/kserve/docs/V1beta1TransformerSpec.md index ecd10f106d4..47fa9aa151e 100644 --- a/python/kserve/docs/V1beta1TransformerSpec.md +++ b/python/kserve/docs/V1beta1TransformerSpec.md @@ -4,56 +4,56 @@ TransformerSpec defines transformer service for pre/post processing ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] -**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] -**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] -**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] -**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] -**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] -**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] -**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] -**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] -**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] -**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] -**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] -**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] -**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] -**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] -**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] -**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] -**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] -**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] -**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] -**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] -**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] -**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] -**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] -**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] -**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] -**os** | [**V1PodOS**](V1PodOS.md) | | [optional] -**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] -**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] -**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] -**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] -**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] -**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] -**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] -**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] -**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] -**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] -**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] -**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] -**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] -**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] -**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] -**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] -**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] -**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] -**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] -**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] -**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] -**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] -**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] +**active_deadline_seconds** | **int** | Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer. | [optional] +**affinity** | [**V1Affinity**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Affinity.md) | | [optional] +**annotations** | **dict(str, str)** | Annotations that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/annotations | [optional] +**automount_service_account_token** | **bool** | AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. | [optional] +**batcher** | [**V1beta1Batcher**](V1beta1Batcher.md) | | [optional] +**canary_traffic_percent** | **int** | CanaryTrafficPercent defines the traffic split percentage between the candidate revision and the last ready revision | [optional] +**container_concurrency** | **int** | ContainerConcurrency specifies how many requests can be processed concurrently, this sets the hard limit of the container concurrency(https://knative.dev/docs/serving/autoscaling/concurrency). | [optional] +**containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of containers belonging to the pod. Containers cannot currently be added or removed. There must be at least one container in a Pod. Cannot be updated. | [optional] +**dns_config** | [**V1PodDNSConfig**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodDNSConfig.md) | | [optional] +**dns_policy** | **str** | Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. | [optional] +**enable_service_links** | **bool** | EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true. | [optional] +**ephemeral_containers** | [**list[V1EphemeralContainer]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EphemeralContainer.md) | List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is beta-level and available on clusters that haven't disabled the EphemeralContainers feature gate. | [optional] +**host_aliases** | [**list[V1HostAlias]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1HostAlias.md) | HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods. | [optional] +**host_ipc** | **bool** | Use the host's ipc namespace. Optional: Default to false. | [optional] +**host_network** | **bool** | Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false. | [optional] +**host_pid** | **bool** | Use the host's pid namespace. Optional: Default to false. | [optional] +**host_users** | **bool** | Use the host's user namespace. Optional: Default to true. If set to true or not present, the pod will be run in the host user namespace, useful for when the pod needs a feature only available to the host user namespace, such as loading a kernel module with CAP_SYS_MODULE. When set to false, a new userns is created for the pod. Setting false is useful for mitigating container breakout vulnerabilities even allowing users to run their containers as root without actually having root privileges on the host. This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature. | [optional] +**hostname** | **str** | Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value. | [optional] +**image_pull_secrets** | [**list[V1LocalObjectReference]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1LocalObjectReference.md) | ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod | [optional] +**init_containers** | [**list[V1Container]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Container.md) | List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ | [optional] +**labels** | **dict(str, str)** | Labels that will be add to the component pod. More info: http://kubernetes.io/docs/user-guide/labels | [optional] +**logger** | [**V1beta1LoggerSpec**](V1beta1LoggerSpec.md) | | [optional] +**max_replicas** | **int** | Maximum number of replicas for autoscaling. | [optional] +**min_replicas** | **int** | Minimum number of replicas, defaults to 1 but can be set to 0 to enable scale-to-zero. | [optional] +**node_name** | **str** | NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements. | [optional] +**node_selector** | **dict(str, str)** | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | [optional] +**os** | [**V1PodOS**](V1PodOS.md) | | [optional] +**overhead** | [**dict(str, ResourceQuantity)**](ResourceQuantity.md) | Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md This field is beta-level as of Kubernetes v1.18, and is only honored by servers that enable the PodOverhead feature. | [optional] +**preemption_policy** | **str** | PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate. | [optional] +**priority** | **int** | The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority. | [optional] +**priority_class_name** | **str** | If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default. | [optional] +**readiness_gates** | [**list[V1PodReadinessGate]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodReadinessGate.md) | If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates | [optional] +**resource_claims** | [**list[V1PodResourceClaim]**](V1PodResourceClaim.md) | ResourceClaims defines which ResourceClaims must be allocated and reserved before the Pod is allowed to start. The resources will be made available to those containers which consume them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. | [optional] +**restart_policy** | **str** | Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy | [optional] +**runtime_class_name** | **str** | RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class This is a beta feature as of Kubernetes v1.14. | [optional] +**scale_metric** | **str** | ScaleMetric defines the scaling metric type watched by autoscaler possible values are concurrency, rps, cpu, memory. concurrency, rps are supported via Knative Pod Autoscaler(https://knative.dev/docs/serving/autoscaling/autoscaling-metrics). | [optional] +**scale_target** | **int** | ScaleTarget specifies the integer target value of the metric type the Autoscaler watches for. concurrency and rps targets are supported by Knative Pod Autoscaler (https://knative.dev/docs/serving/autoscaling/autoscaling-targets/). | [optional] +**scheduler_name** | **str** | If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler. | [optional] +**scheduling_gates** | [**list[V1PodSchedulingGate]**](V1PodSchedulingGate.md) | SchedulingGates is an opaque list of values that if specified will block scheduling the pod. If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the scheduler will not attempt to schedule the pod. SchedulingGates can only be set at pod creation time, and be removed only afterwards. This is a beta feature enabled by the PodSchedulingReadiness feature gate. | [optional] +**security_context** | [**V1PodSecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PodSecurityContext.md) | | [optional] +**service_account** | **str** | DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead. | [optional] +**service_account_name** | **str** | ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | [optional] +**set_hostname_as_fqdn** | **bool** | If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false. | [optional] +**share_process_namespace** | **bool** | Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. | [optional] +**subdomain** | **str** | If specified, the fully qualified Pod hostname will be \"<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>\". If not specified, the pod will not have a domainname at all. | [optional] +**termination_grace_period_seconds** | **int** | Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds. | [optional] +**timeout** | **int** | TimeoutSeconds specifies the number of seconds to wait before timing out a request to the component. | [optional] +**tolerations** | [**list[V1Toleration]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Toleration.md) | If specified, the pod's tolerations. | [optional] +**topology_spread_constraints** | [**list[V1TopologySpreadConstraint]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1TopologySpreadConstraint.md) | TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed. | [optional] +**volumes** | [**list[V1Volume]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Volume.md) | List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1TritonSpec.md b/python/kserve/docs/V1beta1TritonSpec.md index 90b14d2026a..1a83eb59c45 100644 --- a/python/kserve/docs/V1beta1TritonSpec.md +++ b/python/kserve/docs/V1beta1TritonSpec.md @@ -4,32 +4,32 @@ TritonSpec defines arguments for configuring Triton model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/docs/V1beta1XGBoostSpec.md b/python/kserve/docs/V1beta1XGBoostSpec.md index 9eb62d87f06..1e359ab1897 100644 --- a/python/kserve/docs/V1beta1XGBoostSpec.md +++ b/python/kserve/docs/V1beta1XGBoostSpec.md @@ -4,32 +4,32 @@ XGBoostSpec defines arguments for configuring XGBoost model serving. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] -**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] -**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] -**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] -**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] -**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] -**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional][default to ''] -**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] -**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] -**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] -**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] -**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] -**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] -**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] -**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] -**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] -**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] -**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] -**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] -**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] -**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] -**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] -**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] +**args** | **list[str]** | Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**command** | **list[str]** | Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell | [optional] +**env** | [**list[V1EnvVar]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] +**env_from** | [**list[V1EnvFromSource]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1EnvFromSource.md) | List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated. | [optional] +**image** | **str** | Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets. | [optional] +**image_pull_policy** | **str** | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | [optional] +**lifecycle** | [**V1Lifecycle**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Lifecycle.md) | | [optional] +**liveness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**name** | **str** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional] [default to ''] +**ports** | [**list[V1ContainerPort]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional] +**protocol_version** | **str** | Protocol version to use by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2) | [optional] +**readiness_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**resources** | [**V1ResourceRequirements**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1ResourceRequirements.md) | | [optional] +**runtime_version** | **str** | Runtime version of the predictor docker image | [optional] +**security_context** | [**V1SecurityContext**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1SecurityContext.md) | | [optional] +**startup_probe** | [**V1Probe**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1Probe.md) | | [optional] +**stdin** | **bool** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional] +**stdin_once** | **bool** | Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false | [optional] +**storage** | [**V1beta1StorageSpec**](V1beta1StorageSpec.md) | | [optional] +**storage_uri** | **str** | This field points to the location of the trained model which is mounted onto the pod. | [optional] +**termination_message_path** | **str** | Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated. | [optional] +**termination_message_policy** | **str** | Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. | [optional] +**tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] +**volume_devices** | [**list[V1VolumeDevice]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] +**volume_mounts** | [**list[V1VolumeMount]**](https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] +**working_dir** | **str** | Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/python/kserve/kserve/models/v1alpha1_supported_model_format.py b/python/kserve/kserve/models/v1alpha1_supported_model_format.py index 3c019767d5d..3de0bb569ae 100644 --- a/python/kserve/kserve/models/v1alpha1_supported_model_format.py +++ b/python/kserve/kserve/models/v1alpha1_supported_model_format.py @@ -49,16 +49,18 @@ class V1alpha1SupportedModelFormat(object): openapi_types = { 'auto_select': 'bool', 'name': 'str', + 'priority': 'int', 'version': 'str' } attribute_map = { 'auto_select': 'autoSelect', 'name': 'name', + 'priority': 'priority', 'version': 'version' } - def __init__(self, auto_select=None, name='', version=None, local_vars_configuration=None): # noqa: E501 + def __init__(self, auto_select=None, name='', priority=None, version=None, local_vars_configuration=None): # noqa: E501 """V1alpha1SupportedModelFormat - a model defined in OpenAPI""" # noqa: E501 if local_vars_configuration is None: local_vars_configuration = Configuration() @@ -66,6 +68,7 @@ def __init__(self, auto_select=None, name='', version=None, local_vars_configura self._auto_select = None self._name = None + self._priority = None self._version = None self.discriminator = None @@ -73,6 +76,8 @@ def __init__(self, auto_select=None, name='', version=None, local_vars_configura self.auto_select = auto_select if name is not None: self.name = name + if priority is not None: + self.priority = priority if version is not None: self.version = version @@ -122,6 +127,29 @@ def name(self, name): self._name = name + @property + def priority(self): + """Gets the priority of this V1alpha1SupportedModelFormat. # noqa: E501 + + Priority of this serving runtime for auto selection. This is used to select the serving runtime if more than one serving runtime supports the same model format. The value should be greater than zero. The higher the value, the higher the priority. Priority is not considered if AutoSelect is either false or not specified. Priority can be overridden by specifying the runtime in the InferenceService. # noqa: E501 + + :return: The priority of this V1alpha1SupportedModelFormat. # noqa: E501 + :rtype: int + """ + return self._priority + + @priority.setter + def priority(self, priority): + """Sets the priority of this V1alpha1SupportedModelFormat. + + Priority of this serving runtime for auto selection. This is used to select the serving runtime if more than one serving runtime supports the same model format. The value should be greater than zero. The higher the value, the higher the priority. Priority is not considered if AutoSelect is either false or not specified. Priority can be overridden by specifying the runtime in the InferenceService. # noqa: E501 + + :param priority: The priority of this V1alpha1SupportedModelFormat. # noqa: E501 + :type: int + """ + + self._priority = priority + @property def version(self): """Gets the version of this V1alpha1SupportedModelFormat. # noqa: E501 diff --git a/test/crds/serving.kserve.io_inferenceservices.yaml b/test/crds/serving.kserve.io_inferenceservices.yaml index 65ba428c03a..2d4b409ec4b 100644 --- a/test/crds/serving.kserve.io_inferenceservices.yaml +++ b/test/crds/serving.kserve.io_inferenceservices.yaml @@ -1131,6 +1131,10 @@ spec: type: boolean name: type: string + priority: + format: int32 + minimum: 1 + type: integer version: type: string required: @@ -19595,6 +19599,10 @@ spec: type: boolean name: type: string + priority: + format: int32 + minimum: 1 + type: integer version: type: string required: