v1alpha1

package
v0.11.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2024 License: Apache-2.0 Imports: 16 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the serving v1alpha1 API group +kubebuilder:object:generate=true +groupName=serving.kserve.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "serving.kserve.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type FailureInfo

type FailureInfo struct {
	// Name of component to which the failure relates (usually Pod name)
	//+optional
	Location string `json:"location,omitempty"`
	// High level class of failure
	//+optional
	Reason FailureReason `json:"reason,omitempty"`
	// Detailed error message
	//+optional
	Message string `json:"message,omitempty"`
	// Internal ID of model, tied to specific Spec contents
	//+optional
	ModelId string `json:"modelId,omitempty"`
	// Time failure occurred or was discovered
	//+optional
	Time *metav1.Time `json:"time,omitempty"`
}

+k8s:openapi-gen=true

func (*FailureInfo) DeepCopy

func (in *FailureInfo) DeepCopy() *FailureInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureInfo.

func (*FailureInfo) DeepCopyInto

func (in *FailureInfo) DeepCopyInto(out *FailureInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailureReason

type FailureReason string

FailureReason enum +kubebuilder:validation:Enum=ModelLoadFailed;RuntimeUnhealthy;NoSupportingRuntime;RuntimeNotRecognized;InvalidPredictorSpec +k8s:openapi-gen=true

const (
	// The model failed to load within a ServingRuntime container
	ModelLoadFailed FailureReason = "ModelLoadFailed"
	// Corresponding ServingRuntime containers failed to start or are unhealthy
	RuntimeUnhealthy FailureReason = "RuntimeUnhealthy"
	// There are no ServingRuntime which support the specified model type
	NoSupportingRuntime FailureReason = "NoSupportingRuntime"
	// There is no ServingRuntime defined with the specified runtime name
	RuntimeNotRecognized FailureReason = "RuntimeNotRecognized"
	// The current Predictor Spec is invalid or unsupported
	InvalidPredictorSpec FailureReason = "InvalidPredictorSpec"
)

FailureReason enum values

type GpuRequest

type GpuRequest string

GpuRequest constant for specifying GPU requirement or preference +kubebuilder:validation:Enum=required;preferred +k8s:openapi-gen=true

const (
	// Predictor requires GPU
	Required GpuRequest = "required"
	// Predictor prefers GPU
	Preferred GpuRequest = "preferred"
)

GpuRequest Enum

type Model

type Model struct {
	// +required
	Type ModelType `json:"modelType"`

	// (DEPRECATED) The path to the model files within the storage
	// +optional
	Path string `json:"path"`

	// (DEPRECATED) The path to the schema file within the storage
	// +optional
	SchemaPath *string `json:"schemaPath,omitempty"`

	// +optional
	Storage *Storage `json:"storage,omitempty"`
}

+k8s:openapi-gen=true

func (*Model) DeepCopy

func (in *Model) DeepCopy() *Model

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Model.

func (*Model) DeepCopyInto

func (in *Model) DeepCopyInto(out *Model)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ModelState

type ModelState string

ModelState enum +kubebuilder:validation:Enum="";Pending;Standby;Loading;Loaded;FailedToLoad +k8s:openapi-gen=true

const (
	// Model is not yet registered
	Pending ModelState = "Pending"
	// Model is available but not loaded (will load when used)
	Standby ModelState = "Standby"
	// Model is loading
	Loading ModelState = "Loading"
	// At least one copy of the model is loaded
	Loaded ModelState = "Loaded"
	// All copies of the model failed to load
	FailedToLoad ModelState = "FailedToLoad"
)

ModelState Enum values

type ModelType

type ModelType struct {
	// +required
	Name string `json:"name"`
	// +optional
	Version *string `json:"version,omitempty"`
}

+k8s:openapi-gen=true

func (*ModelType) DeepCopy

func (in *ModelType) DeepCopy() *ModelType

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModelType.

func (*ModelType) DeepCopyInto

func (in *ModelType) DeepCopyInto(out *ModelType)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Predictor

type Predictor struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec PredictorSpec `json:"spec,omitempty"`

	// +kubebuilder:default={transitionStatus:UpToDate, activeModelState:Pending, targetModelState:"", available:false, failedCopies:0, totalCopies:0}
	Status PredictorStatus `json:"status,omitempty"`
}

Predictor is the Schema for the predictors API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.modelType.name" +kubebuilder:printcolumn:name="Available",type="boolean",JSONPath=".status.available" +kubebuilder:printcolumn:name="ActiveModel",type="string",JSONPath=".status.activeModelState" +kubebuilder:printcolumn:name="TargetModel",type="string",JSONPath=".status.targetModelState" +kubebuilder:printcolumn:name="Transition",type="string",JSONPath=".status.transitionStatus" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true

func (*Predictor) DeepCopy

func (in *Predictor) DeepCopy() *Predictor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Predictor.

func (*Predictor) DeepCopyInto

func (in *Predictor) DeepCopyInto(out *Predictor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Predictor) DeepCopyObject

func (in *Predictor) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PredictorList

type PredictorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Predictor `json:"items"`
}

PredictorList contains a list of Predictor +k8s:openapi-gen=true

func (*PredictorList) DeepCopy

func (in *PredictorList) DeepCopy() *PredictorList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictorList.

func (*PredictorList) DeepCopyInto

func (in *PredictorList) DeepCopyInto(out *PredictorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PredictorList) DeepCopyObject

func (in *PredictorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PredictorRuntime

type PredictorRuntime struct {
	// one-of these must be present
	*RuntimeRef `json:",inline"`
}

see if this is possible +k8s:openapi-gen=true

func (*PredictorRuntime) DeepCopy

func (in *PredictorRuntime) DeepCopy() *PredictorRuntime

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictorRuntime.

func (*PredictorRuntime) DeepCopyInto

func (in *PredictorRuntime) DeepCopyInto(out *PredictorRuntime)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictorSpec

type PredictorSpec struct {
	// NOT YET SUPPORTED
	// +optional
	ServiceAccountName *string `json:"serviceAccountName,omitempty"`
	// +required
	Model `json:",inline"`
	// May be absent, "preferred" or "required"
	// +optional
	Gpu *GpuRequest `json:"gpu,omitempty"`
	// If omitted a compatible runtime is selected based on the model type (if available)
	// +optional
	Runtime *PredictorRuntime `json:"runtime,omitempty"`
	// Protocol version to be exposed by the predictor (i.e. v1 or v2 or grpc-v1 or grpc-v2)
	// +optional
	ProtocolVersion *constants.InferenceServiceProtocol `json:"protocolVersion,omitempty"`
}

PredictorSpec defines the desired state of Predictor +k8s:openapi-gen=true

func (*PredictorSpec) DeepCopy

func (in *PredictorSpec) DeepCopy() *PredictorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictorSpec.

func (*PredictorSpec) DeepCopyInto

func (in *PredictorSpec) DeepCopyInto(out *PredictorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PredictorStatus

type PredictorStatus struct {

	// Whether the predictor endpoint is available
	Available bool `json:"available"`
	// Whether the available predictor endpoint reflects the current Spec or is in transition
	// +kubebuilder:default=UpToDate
	TransitionStatus TransitionStatus `json:"transitionStatus"`

	// High level state string: Pending, Standby, Loading, Loaded, FailedToLoad
	// +kubebuilder:default=Pending
	ActiveModelState ModelState `json:"activeModelState"`
	// +kubebuilder:default=""
	TargetModelState ModelState `json:"targetModelState"`

	// Details of last failure, when load of target model is failed or blocked
	//+optional
	LastFailureInfo *FailureInfo `json:"lastFailureInfo,omitempty"`

	// Addressable endpoint for the deployed trained model
	// This will be "static" and will not change when the model is mutated
	// +optional
	HTTPEndpoint string `json:"httpEndpoint"`
	// +optional
	GrpcEndpoint string `json:"grpcEndpoint"`

	// Total number of copies of this predictor's models
	// +kubebuilder:default=0
	TotalCopies int `json:"totalCopies"`

	// How many copies of this predictor's models failed to load recently
	// +kubebuilder:default=0
	FailedCopies int `json:"failedCopies"`
}

PredictorStatus defines the observed state of Predictor +k8s:openapi-gen=true

func (*PredictorStatus) DeepCopy

func (in *PredictorStatus) DeepCopy() *PredictorStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PredictorStatus.

func (*PredictorStatus) DeepCopyInto

func (in *PredictorStatus) DeepCopyInto(out *PredictorStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PredictorStatus) WaitingForRuntime

func (s *PredictorStatus) WaitingForRuntime() bool

type RuntimeRef

type RuntimeRef struct {
	Name string `json:"name"`
}

+k8s:openapi-gen=true

func (*RuntimeRef) DeepCopy

func (in *RuntimeRef) DeepCopy() *RuntimeRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeRef.

func (*RuntimeRef) DeepCopyInto

func (in *RuntimeRef) DeepCopyInto(out *RuntimeRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type S3StorageSource

type S3StorageSource struct {
	// +required
	SecretKey string `json:"secretKey" validation:"required"`
	// +optional
	Bucket *string `json:"bucket,omitempty" validation:"required"`
}

+k8s:openapi-gen=true

func (*S3StorageSource) DeepCopy

func (in *S3StorageSource) DeepCopy() *S3StorageSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3StorageSource.

func (*S3StorageSource) DeepCopyInto

func (in *S3StorageSource) DeepCopyInto(out *S3StorageSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServingRuntimeWebhook added in v0.11.0

type ServingRuntimeWebhook struct {
	Client client.Client
	// contains filtered or unexported fields
}

+kubebuilder:webhook:path=/validate-serving-modelmesh-io-v1alpha1-servingruntime,mutating=false,failurePolicy=fail,sideEffects=None,groups=serving.kserve.io,resources=servingruntimes;clusterservingruntimes,verbs=create;update,versions=v1alpha1,name=servingruntime.modelmesh-webhook-server.default,admissionReviewVersions=v1

func (*ServingRuntimeWebhook) DeepCopy added in v0.11.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServingRuntimeWebhook.

func (*ServingRuntimeWebhook) DeepCopyInto added in v0.11.0

func (in *ServingRuntimeWebhook) DeepCopyInto(out *ServingRuntimeWebhook)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ServingRuntimeWebhook) Handle added in v0.11.0

func (*ServingRuntimeWebhook) InjectDecoder added in v0.11.0

func (s *ServingRuntimeWebhook) InjectDecoder(d *admission.Decoder) error

InjectDecoder injects the decoder.

type Storage

type Storage struct {
	// new way to specify the storage configuration
	StorageSpec `json:",inline"`

	// (DEPRECATED) PersistentVolmueClaim was never supported this way and will be removed
	PersistentVolumeClaim *corev1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"`
	// (DEPRECATED) S3 has configuration to connect to an S3 instance. It is now deprecated, use fields from Spec.Storage instead.
	S3 *S3StorageSource `json:"s3,omitempty"`
}

+k8s:openapi-gen=true

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageSpec added in v0.9.0

type StorageSpec struct {
	// The path to the model object in the storage. It cannot co-exist
	// with the storageURI.
	// +optional
	Path *string `json:"path,omitempty"`
	// The path to the model schema file in the storage.
	// +optional
	SchemaPath *string `json:"schemaPath,omitempty"`
	// Parameters to override the default storage credentials and config.
	// +optional
	Parameters *map[string]string `json:"parameters,omitempty"`
	// The Storage Key in the secret for this model.
	// +optional
	StorageKey *string `json:"key,omitempty"`
}

+k8s:openapi-gen=true

func (*StorageSpec) DeepCopy added in v0.9.0

func (in *StorageSpec) DeepCopy() *StorageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec.

func (*StorageSpec) DeepCopyInto added in v0.9.0

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TransitionStatus

type TransitionStatus string

TransitionStatus enum +kubebuilder:validation:Enum=UpToDate;InProgress;BlockedByFailedLoad;InvalidSpec +k8s:openapi-gen=true

const (
	// Predictor is up-to-date (reflects current spec)
	UpToDate TransitionStatus = "UpToDate"
	// Waiting for target model to reach state of active model
	InProgress TransitionStatus = "InProgress"
	// Target model failed to load
	BlockedByFailedLoad TransitionStatus = "BlockedByFailedLoad"
	// TBD
	InvalidSpec TransitionStatus = "InvalidSpec"
)

TransitionStatus Enum values

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL