v1alpha1

package
v0.5.306 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2022 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

+groupName=inference.modela.ai +kubebuilder:object:generate=true

Index

Constants

View Source
const PipelineLabelKey = "pipeline"

Variables

View Source
var (
	// SchemeBuilder registers our types
	SchemeBuilder = k8sruntime.NewSchemeBuilder(AddKnownTypes)
	// AddToScheme local alias for SchemeBuilder.AddToScheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: inference.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func AddKnownTypes

func AddKnownTypes(scheme *k8sruntime.Scheme) error

Adds the list of known types to api.Scheme.

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AutoScalingSpec added in v0.4.878

type AutoScalingSpec struct {
	// Indicates if automatic scaling is enabled
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The minimum number of replicas running the service
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default:=1
	MinReplicas *int32 `json:"minReplicas,omitempty" protobuf:"varint,2,opt,name=minReplicas"`
	// The maximum number of replicas running the service
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:default:=1
	MaxReplicas *int32 `json:"maxReplicas,omitempty" protobuf:"varint,3,opt,name=maxReplicas"`
	// The target average CPU utilization across all replicas. The HorizontalPodAutoscaler associated with the
	// service will change the number of replicas to maintain this metric
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default:=80
	CpuAvgUtilization *int32 `json:"cpuAvgUtilization,omitempty" protobuf:"varint,4,opt,name=cpuAvgUtilization"`
	// The target average memory utilization across all replicas. The HorizontalPodAutoscaler associated with the
	// service will change the number of replicas to maintain this metric
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default:=80
	MemAvgUtilization *int32 `json:"memAvgUtilization,omitempty" protobuf:"varint,5,opt,name=memAvgUtilization"`
}

AutoScaling defines the configuration for the automatic scaling of a service

func (*AutoScalingSpec) DeepCopy added in v0.4.878

func (in *AutoScalingSpec) DeepCopy() *AutoScalingSpec

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

func (*AutoScalingSpec) DeepCopyInto added in v0.4.878

func (in *AutoScalingSpec) DeepCopyInto(out *AutoScalingSpec)

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

type BackwardCurtainSpec added in v0.4.914

type BackwardCurtainSpec struct {
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The forward curtain receives prediction requests before the prediction (currently unimplemented)
	// +kubebuilder:validation:Optional
	CurtainRef *v1.ObjectReference `json:"curtainRef,omitempty" protobuf:"bytes,2,opt,name=curtainRef"`
	// For backward curtain is the confidence low
	// +kubebuilder:validation:Optional
	ConfidenceLow *float64 `json:"confidenceLow,omitempty" protobuf:"bytes,4,opt,name=confidenceLow"`
	// For backward curtain is the confidence high
	// +kubebuilder:validation:Optional
	ConfidenceHigh *float64 `json:"confidenceHigh,omitempty" protobuf:"bytes,5,opt,name=confidenceHigh"`
}

func (*BackwardCurtainSpec) DeepCopy added in v0.4.915

func (in *BackwardCurtainSpec) DeepCopy() *BackwardCurtainSpec

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

func (*BackwardCurtainSpec) DeepCopyInto added in v0.4.915

func (in *BackwardCurtainSpec) DeepCopyInto(out *BackwardCurtainSpec)

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

type BatchPredictionSpec added in v0.5.282

type BatchPredictionSpec struct {
	// The schedule at which new Prediction resources will be created
	// +kubebuilder:validation:Optional
	Schedule catalog.RunSchedule `json:"schedule,omitempty" protobuf:"bytes,1,opt,name=schedule"`
	// Template specifies the template to create new Prediction resources
	Template PredictionTemplate `json:"template" protobuf:"bytes,2,opt,name=template"`
}

func (*BatchPredictionSpec) DeepCopy added in v0.5.283

func (in *BatchPredictionSpec) DeepCopy() *BatchPredictionSpec

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

func (*BatchPredictionSpec) DeepCopyInto added in v0.5.283

func (in *BatchPredictionSpec) DeepCopyInto(out *BatchPredictionSpec)

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

type CronPrediction

type CronPrediction struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              CronPredictionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status CronPredictionStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

CronPrediction represents a Prediction which runs on a predefined schedule +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner",priority=1 +kubebuilder:printcolumn:name="Predictor",type="string",JSONPath=".spec.template.spec.predictorName" +kubebuilder:printcolumn:name="Schedule",type="string",JSONPath=".spec.schedule" +kubebuilder:printcolumn:name="Last Run",type="date",JSONPath=".status.lastRun",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:path=cronpredictions,shortName=cpred,singular=cronprediction,categories={inference,modela}

func (*CronPrediction) AddFinalizer

func (run *CronPrediction) AddFinalizer()

func (*CronPrediction) CreateOrUpdateCond

func (run *CronPrediction) CreateOrUpdateCond(cond CronPredictionCondition)

Merge or update condition Merge or update condition

func (*CronPrediction) DeepCopy

func (in *CronPrediction) DeepCopy() *CronPrediction

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

func (*CronPrediction) DeepCopyInto

func (in *CronPrediction) DeepCopyInto(out *CronPrediction)

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

func (*CronPrediction) DeepCopyObject

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

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

func (*CronPrediction) Default

func (pre *CronPrediction) Default()

func (*CronPrediction) GetCond

func (*CronPrediction) GetCondIdx

func (run *CronPrediction) GetCondIdx(t CronPredictionConditionType) int

func (*CronPrediction) HasFinalizer

func (run *CronPrediction) HasFinalizer() bool

func (*CronPrediction) IsCompleted

func (run *CronPrediction) IsCompleted() bool

func (*CronPrediction) IsFailed

func (run *CronPrediction) IsFailed() bool

func (*CronPrediction) IsReady

func (run *CronPrediction) IsReady() bool

func (*CronPrediction) IsRunning

func (run *CronPrediction) IsRunning() bool

func (*CronPrediction) IsSaved

func (run *CronPrediction) IsSaved() bool

func (*CronPrediction) Key

func (run *CronPrediction) Key() string

func (*CronPrediction) ManifestUri

func (run *CronPrediction) ManifestUri() string

func (*CronPrediction) MarkReady

func (run *CronPrediction) MarkReady()

func (*CronPrediction) MarkSaved

func (run *CronPrediction) MarkSaved()

func (*CronPrediction) OpName

func (run *CronPrediction) OpName() string

func (*CronPrediction) PipelineName

func (run *CronPrediction) PipelineName() string

func (*CronPrediction) RemoveFinalizer

func (run *CronPrediction) RemoveFinalizer()

func (*CronPrediction) RepPath

func (run *CronPrediction) RepPath(root string) (string, error)

Return the on disk rep location

func (*CronPrediction) RootUri

func (run *CronPrediction) RootUri() string

func (*CronPrediction) SetupWebhookWithManager

func (run *CronPrediction) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*CronPrediction) UpdateRunStatus added in v0.4.612

func (prediction *CronPrediction) UpdateRunStatus(run Prediction)

func (*CronPrediction) ValidateCreate

func (prediction *CronPrediction) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*CronPrediction) ValidateDelete

func (prediction *CronPrediction) ValidateDelete() error

func (*CronPrediction) ValidateUpdate

func (prediction *CronPrediction) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type CronPredictionCondition

type CronPredictionCondition struct {
	// Type of condition
	Type CronPredictionConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=CronPredictionConditionType"`
	// Status of the condition, one of True, False, Unknown
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human-readable message indicating details about the transition
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

CronPredictionCondition describes the state of a CronPrediction at a certain point

func (*CronPredictionCondition) DeepCopy

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

func (*CronPredictionCondition) DeepCopyInto

func (in *CronPredictionCondition) DeepCopyInto(out *CronPredictionCondition)

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

type CronPredictionConditionType

type CronPredictionConditionType string

CronPrediction Condition

const (
	CronPredictionReady CronPredictionConditionType = "Ready"
	CronPredictionSaved CronPredictionConditionType = "Saved"
)

type CronPredictionList

type CronPredictionList struct {
	metav1.TypeMeta `json:",inline" `
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []CronPrediction `json:"items" protobuf:"bytes,2,rep,name=items"`
}

CronPredictionList is a list of CronPredictions +kubebuilder:object:root=true

func (*CronPredictionList) DeepCopy

func (in *CronPredictionList) DeepCopy() *CronPredictionList

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

func (*CronPredictionList) DeepCopyInto

func (in *CronPredictionList) DeepCopyInto(out *CronPredictionList)

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

func (*CronPredictionList) DeepCopyObject

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

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

type CronPredictionSpec

type CronPredictionSpec struct {
	// The name of the DataProductVersion which describes the version of the resource
	// that exists in the same DataProduct namespace as the resource
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	VersionName *string `json:"versionName,omitempty" protobuf:"bytes,1,opt,name=versionName"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,2,opt,name=owner"`
	// The schedule at which new Prediction resources will be created
	// +kubebuilder:validation:Optional
	Schedule catalog.RunSchedule `json:"schedule,omitempty" protobuf:"bytes,3,opt,name=schedule"`
	// Template specifies the template to create new Prediction resources
	Template PredictionTemplate `json:"template" protobuf:"bytes,4,opt,name=template"`
	// The priority of the CronPrediction to be executed (medium, by default)
	// +kubebuilder:default:=medium
	// +kubebuilder:validation:Optional
	Priority *catalog.PriorityLevel `json:"priority,omitempty" protobuf:"bytes,5,opt,name=priority"`
	// Indicates if the CronPrediction is paused and will not create new Predictions
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Paused *bool `json:"paused,omitempty" protobuf:"varint,6,opt,name=paused"`
	// The notification specification that determines which notifiers will receive Alerts generated by the object
	//+kubebuilder:validation:Optional
	Notification catalog.NotificationSpec `json:"notification,omitempty" protobuf:"bytes,7,opt,name=notification"`
}

CronPredictionSpec represent the desired state of a CronPrediction

func (*CronPredictionSpec) DeepCopy

func (in *CronPredictionSpec) DeepCopy() *CronPredictionSpec

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

func (*CronPredictionSpec) DeepCopyInto

func (in *CronPredictionSpec) DeepCopyInto(out *CronPredictionSpec)

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

type CronPredictionStatus

type CronPredictionStatus struct {
	// The time at which a run of the CronPrediction was last started
	//+kubebuilder:validation:Optional
	LastRun catalog.LastRunStatus `json:"lastRun,omitempty" protobuf:"bytes,1,opt,name=lastRun"`
	// The time at which the CronPrediction is next scheduled to be executed
	//+kubebuilder:validation:Optional
	NextRun *metav1.Time `json:"nextRun,omitempty" protobuf:"bytes,2,opt,name=nextRun"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,3,opt,name=lastUpdated"`
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,4,opt,name=observedGeneration"`
	// In the case of failure, the CronPrediction resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,5,opt,name=failureReason"`
	// In the case of failure, the CronPrediction resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,6,opt,name=failureMessage"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []CronPredictionCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,7,rep,name=conditions"`
}

CronPredictionStatus is the observed state of a CronPrediction

func (*CronPredictionStatus) DeepCopy

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

func (*CronPredictionStatus) DeepCopyInto

func (in *CronPredictionStatus) DeepCopyInto(out *CronPredictionStatus)

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

type CustomAppSpec

type CustomAppSpec struct {
	// Indicates if custom pages are enabled
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"owner,omitempty" protobuf:"varint,1,opt,name=owner"`
	// The app title
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Title *string `json:"title,omitempty" protobuf:"bytes,2,opt,name=title"`
	// The app pages
	// +kubebuilder:validation:Optional
	Pages []data.PageSpec `json:"pages,omitempty" protobuf:"bytes,3,opt,name=pages"`
}

CustomAppSpec defines the custom pages for a DataApp

func (*CustomAppSpec) DeepCopy

func (in *CustomAppSpec) DeepCopy() *CustomAppSpec

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

func (*CustomAppSpec) DeepCopyInto

func (in *CustomAppSpec) DeepCopyInto(out *CustomAppSpec)

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

type DataApp

type DataApp struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
	Spec              DataAppSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status DataAppStatus `json:"status" protobuf:"bytes,3,opt,name=status"`
}

DataApp represents a live dashboard for a single model +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner" +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".spec.versionName" +kubebuilder:printcolumn:name="Path",type="string",JSONPath=".spec.path" +kubebuilder:printcolumn:name="Model",type="string",JSONPath=".spec.modelName" +kubebuilder:printcolumn:name="Replicas",type="string",JSONPath=".spec.replicas" +kubebuilder:printcolumn:name="Port",type="string",JSONPath=".spec.port" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=dataapps,singular=dataapp,categories={data,modela} +kubebuilder:subresource:status

func (*DataApp) AddFinalizer

func (r *DataApp) AddFinalizer()

func (*DataApp) ConstructGrpcRule added in v0.4.693

func (dataapp *DataApp) ConstructGrpcRule(fqdn string, serviceName string) *nwv1.IngressRule

func (*DataApp) ConstructRESTRule added in v0.4.693

func (dataapp *DataApp) ConstructRESTRule(fqdn string, serviceName string) *nwv1.IngressRule

func (*DataApp) CreateOrUpdateCond

func (r *DataApp) CreateOrUpdateCond(cond DataAppCondition)

Merge or update condition

func (*DataApp) DeepCopy

func (in *DataApp) DeepCopy() *DataApp

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

func (*DataApp) DeepCopyInto

func (in *DataApp) DeepCopyInto(out *DataApp)

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

func (*DataApp) DeepCopyObject

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

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

func (*DataApp) Default

func (dataapp *DataApp) Default()

func (*DataApp) Deleted

func (r *DataApp) Deleted() bool

func (*DataApp) GetCond

func (*DataApp) GetCondIdx

func (r *DataApp) GetCondIdx(t DataAppConditionType) int

func (*DataApp) HasFinalizer

func (r *DataApp) HasFinalizer() bool

func (*DataApp) IsFailed added in v0.4.675

func (dataapp *DataApp) IsFailed() bool

func (*DataApp) IsInCond

func (r *DataApp) IsInCond(ct DataAppConditionType) bool

func (*DataApp) IsReady

func (r *DataApp) IsReady() bool

func (*DataApp) IsSaved

func (r *DataApp) IsSaved() bool

func (*DataApp) MarkReady

func (r *DataApp) MarkReady()

func (*DataApp) MarkSaved

func (r *DataApp) MarkSaved()

func (*DataApp) Populate

func (r *DataApp) Populate(name string)

func (*DataApp) PrintConditions

func (r *DataApp) PrintConditions()

func (*DataApp) RemoveFinalizer

func (r *DataApp) RemoveFinalizer()

func (*DataApp) SetupWebhookWithManager

func (r *DataApp) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*DataApp) ValidateCreate

func (recipe *DataApp) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*DataApp) ValidateDelete

func (recipe *DataApp) ValidateDelete() error

func (*DataApp) ValidateUpdate

func (recipe *DataApp) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type DataAppCondition

type DataAppCondition struct {
	// Type of DataApp condition
	Type DataAppConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DataAppConditionType"`
	// Status of the condition, one of True, False, Unknown
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,7,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

DataAppCondition describes the state of a DataApp at a certain point

func (*DataAppCondition) DeepCopy

func (in *DataAppCondition) DeepCopy() *DataAppCondition

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

func (*DataAppCondition) DeepCopyInto

func (in *DataAppCondition) DeepCopyInto(out *DataAppCondition)

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

type DataAppConditionType

type DataAppConditionType string

DataAppConditionType is the condition of a DataApp

const (
	DataAppReady DataAppConditionType = "Ready"
	DataAppSaved DataAppConditionType = "Saved"
)

/ DataApp Condition

type DataAppList

type DataAppList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
	Items           []DataApp `json:"items" protobuf:"bytes,2,rep,name=items"`
}

DataAppList contains a list of DataApps +kubebuilder:object:root=true

func (*DataAppList) DeepCopy

func (in *DataAppList) DeepCopy() *DataAppList

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

func (*DataAppList) DeepCopyInto

func (in *DataAppList) DeepCopyInto(out *DataAppList)

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

func (*DataAppList) DeepCopyObject

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

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

type DataAppSpec

type DataAppSpec struct {
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="no-one"
	Owner *string `json:"owner,omitempty" protobuf:"bytes,1,opt,name=owner"`
	// The name of the DataProductVersion which describes the version of the resource
	// that exists in the same DataProduct namespace as the resource
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	VersionName *string `json:"versionName,omitempty" protobuf:"bytes,2,opt,name=versionName"`
	// The model class for this pipeline
	// +kubebuilder:validation:Optional
	ModelClassName *string `json:"modelClassName,omitempty" protobuf:"bytes,3,opt,name=modelClassName"`
	// The user-provided description of the DataApp
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	Description *string `json:"description,omitempty" protobuf:"bytes,4,opt,name=description"`
	// The name of the predictive app model. The model will be used
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	ModelName *string `json:"modelName,omitempty" protobuf:"bytes,5,opt,name=modelName"`
	// Define how to access the app.
	Access catalog.AccessSpec `json:"access,omitempty" protobuf:"bytes,6,opt,name=access"`
	// The number of replicas for the Kubernetes Deployment associated with the DataApp, which will instantiate multiple
	// copies of the service in the case that automatic scaling is disabled
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,7,opt,name=replicas"`
	// Resources specifies the resource requirements allocated to the DataApp's web server
	// +kubebuilder:validation:Optional
	Resources catalog.ResourceSpec `json:"resources,omitempty" protobuf:"bytes,10,opt,name=resources"`
	// The reference to the DataProduct that the resource exists under
	// +kubebuilder:validation:Optional
	ProductRef *v1.ObjectReference `json:"productRef,omitempty" protobuf:"bytes,12,opt,name=productRef"`
	// The reference to the ServingSite resource that hosts the Predictor
	// +kubebuilder:validation:Optional
	ServingSiteRef *v1.ObjectReference `json:"servingsiteRef" protobuf:"bytes,13,opt,name=servingsiteRef"`
	// The specification to create a custom data application (currently unimplemented)
	// +kubebuilder:validation:Optional
	Custom CustomAppSpec `json:"custom" protobuf:"bytes,14,opt,name=custom"`
}

DataAppSpec defines the desired state of a DataApp

func (*DataAppSpec) DeepCopy

func (in *DataAppSpec) DeepCopy() *DataAppSpec

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

func (*DataAppSpec) DeepCopyInto

func (in *DataAppSpec) DeepCopyInto(out *DataAppSpec)

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

type DataAppStatus

type DataAppStatus struct {
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,2,opt,name=lastUpdated"`
	// The reference to the Kubernetes Deployment associated with the DataApp
	//+kubebuilder:validation:Optional
	DeploymentRef v1.ObjectReference `json:"deploymentStatus,omitempty" protobuf:"bytes,3,opt,name=deploymentStatus"`
	// The status of the Kubernetes Service associated with the DataApp
	//+kubebuilder:validation:Optional
	ServiceStatus v1.ServiceStatus `json:"serviceStatus,omitempty" protobuf:"bytes,4,opt,name=servicetStatus"`
	// In the case of failure, the DataApp resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,5,opt,name=failureReason"`
	// In the case of failure, the DataApp resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,6,opt,name=failureMessage"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []DataAppCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,7,rep,name=conditions"`
}

DataAppStatus defines the observed state of DataApp

func (*DataAppStatus) DeepCopy

func (in *DataAppStatus) DeepCopy() *DataAppStatus

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

func (*DataAppStatus) DeepCopyInto

func (in *DataAppStatus) DeepCopyInto(out *DataAppStatus)

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

type DriftDetectionSpec added in v0.4.949

type DriftDetectionSpec struct {
	// Indicates if model monitoring is enabled for the model
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// If true, automatically generate drift test to all the columns based on the column type
	// +kubebuilder:default:=true
	// +kubebuilder:validation:Optional
	GenDriftTests *bool `json:"genDriftTests,omitempty" protobuf:"varint,2,opt,name=genDriftTests"`
	// If true, automatically generate drift test to all the columns based on the column type
	// +kubebuilder:default:=1000
	// +kubebuilder:validation:Optional
	MinPredictions *int32 `json:"minPredictions,omitempty" protobuf:"varint,3,opt,name=minPredictions"`
	// Set the list of columns for drift detection, if empty, watch all the columns.
	// +kubebuilder:validation:Optional
	Columns []string `json:"columns,omitempty" protobuf:"bytes,4,rep,name=columns"`
	// The drift threshold for drift metrics.
	// If empty will be set the modela
	DriftThresholds []data.DriftThreshold `json:"driftThresholds,omitempty" protobuf:"bytes,5,rep,name=driftThresholds"`
	// Define the tests to run against the predictor.
	UnitTestsTemplate catalog.TestSuite `json:"unitTestsTemplate,omitempty" protobuf:"bytes,6,opt,name=unitTestsTemplate"`
	// The schedule on which model monitoring computations will be performed
	// +kubebuilder:validation:Optional
	Schedule catalog.RunSchedule `json:"schedule,omitempty" protobuf:"bytes,7,opt,name=schedule"`
	// Reference to a model that will be used for outlier detection. If empty, an outlier detection model.
	// Currently not in use.
	// +kubebuilder:validation:Optional
	OutlierDetectionModelRef v1.ObjectReference `json:"outlierDetectionModelRef,omitempty" protobuf:"bytes,8,opt,name=outlierDetectionModelRef"`
	// how many feature histograms to keep in memory (as kubernetes objects). Histograms are garbage collected.
	// +kubebuilder:default:=5
	// +kubebuilder:validation:Optional
	MaxHistograms *int32 `json:"maxHistograms,omitempty" protobuf:"varint,9,opt,name=maxHistograms"`
	// The duration in seconds that an histogram is updated before computing drift
	// the default is one hour
	// +kubebuilder:default:=3600
	// +kubebuilder:validation:Optional
	PeriodSeconds *int32 `json:"periodSeconds,omitempty" protobuf:"varint,10,opt,name=periodSeconds"`
}

func (*DriftDetectionSpec) DeepCopy added in v0.4.949

func (in *DriftDetectionSpec) DeepCopy() *DriftDetectionSpec

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

func (*DriftDetectionSpec) DeepCopyInto added in v0.4.949

func (in *DriftDetectionSpec) DeepCopyInto(out *DriftDetectionSpec)

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

type DriftDetectionStatus added in v0.4.949

type DriftDetectionStatus struct {
}

func (*DriftDetectionStatus) DeepCopy added in v0.4.949

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

func (*DriftDetectionStatus) DeepCopyInto added in v0.4.949

func (in *DriftDetectionStatus) DeepCopyInto(out *DriftDetectionStatus)

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

type FastSlowModelSpec added in v0.4.914

type FastSlowModelSpec struct {
	// Indicates if model monitoring is enabled for the model
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// Reference to the fast model
	FastModelRef v1.ObjectReference `json:"fastModelRef,omitempty" protobuf:"bytes,2,opt,name=fastModelRef"`
	// Reference to the slow model
	SlowModelRef v1.ObjectReference `json:"slowModelRef,omitempty" protobuf:"bytes,3,opt,name=slowModelRef"`
	// The low range of confidence.
	// +kubebuilder:default:=40
	// +kubebuilder:validation:Optional
	ProbaLowPct *int32 `json:"probaLowPct,omitempty" protobuf:"varint,4,opt,name=probaLowPct"`
	// The high range of confidence , Must be higher than probalow
	// +kubebuilder:default:=60
	// +kubebuilder:validation:Optional
	ProbaHighPct *int32 `json:"probaHighPct,omitempty" protobuf:"varint,5,opt,name=probaHighPct"`
}

Fast slow model mode, use two models as the live. All request are send first to the fast model.

func (*FastSlowModelSpec) DeepCopy added in v0.4.915

func (in *FastSlowModelSpec) DeepCopy() *FastSlowModelSpec

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

func (*FastSlowModelSpec) DeepCopyInto added in v0.4.915

func (in *FastSlowModelSpec) DeepCopyInto(out *FastSlowModelSpec)

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

type FeedbackTestSpec added in v0.4.984

type FeedbackTestSpec struct {
	// Indicates if model monitoring is enabled for the model
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// Define the tests to run against the predictor.
	// +kubebuilder:validation:Optional
	Tests catalog.TestSuite `json:"tests,omitempty" protobuf:"bytes,2,opt,name=tests"`
	// The schedule on which model monitoring computations will be performed
	// +kubebuilder:validation:Optional
	Schedule catalog.RunSchedule `json:"schedule,omitempty" protobuf:"bytes,3,opt,name=schedule"`
}

func (*FeedbackTestSpec) DeepCopy added in v0.4.984

func (in *FeedbackTestSpec) DeepCopy() *FeedbackTestSpec

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

func (*FeedbackTestSpec) DeepCopyInto added in v0.4.984

func (in *FeedbackTestSpec) DeepCopyInto(out *FeedbackTestSpec)

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

type ForecastPredictionSpec added in v0.5.94

type ForecastPredictionSpec struct {
	// The hierarchy specification, which maps columns to values
	// +kubebuilder:validation:Optional
	HierarchyValues map[string]string `json:"hierarchyValues,omitempty" protobuf:"bytes,1,opt,name=hierarchyValues"`
	// The interval of the forecast
	Horizon training.WindowSpec `json:"horizon,omitempty" protobuf:"bytes,2,opt,name=horizon"`
}

ForecastSpec specifies the details of a forecasting model

func (*ForecastPredictionSpec) DeepCopy added in v0.5.96

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

func (*ForecastPredictionSpec) DeepCopyInto added in v0.5.96

func (in *ForecastPredictionSpec) DeepCopyInto(out *ForecastPredictionSpec)

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

type ForecastRun added in v0.5.105

type ForecastRun struct {
	// The reference to the ServingSite resource that
	// +kubebuilder:validation:Optional
	Key string `json:"key,omitempty" protobuf:"bytes,1,opt,name=key"`
	// The reference to the ServingSite resource that
	// +kubebuilder:validation:Optional
	ModelURI string `json:"modelURI,omitempty" protobuf:"bytes,2,rep,name=modelURI"`
	// the prediction horizon
	// +kubebuilder:validation:Optional
	Horizon training.WindowSpec `json:"horizon,omitempty" protobuf:"bytes,3,opt,name=horizon"`
}

func (*ForecastRun) DeepCopy added in v0.5.106

func (in *ForecastRun) DeepCopy() *ForecastRun

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

func (*ForecastRun) DeepCopyInto added in v0.5.106

func (in *ForecastRun) DeepCopyInto(out *ForecastRun)

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

type ForecastSpec

type ForecastSpec struct {
	// The list of forecast runs. Runs are indexed by key
	// +kubebuilder:validation:Optional
	Runs map[string]ForecastRun `json:"runs,omitempty" protobuf:"bytes,9,rep,name=runs"`
}

func (*ForecastSpec) DeepCopy

func (in *ForecastSpec) DeepCopy() *ForecastSpec

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

func (*ForecastSpec) DeepCopyInto

func (in *ForecastSpec) DeepCopyInto(out *ForecastSpec)

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

type ForecastStatus added in v0.5.100

type ForecastStatus struct {
	// The URI of all the porfiles
	// +kubebuilder:validation:Optional
	ProfileURI string `json:"profileURI,omitempty" protobuf:"bytes,1,opt,name=profileURI"`
	// A pointer to the actual forecast
	// +kubebuilder:validation:Optional
	ReportURI string `json:"reportURI,omitempty" protobuf:"bytes,2,rep,name=reportURI"`
	// A pointer to the file containing the metadata about the forecasts
	// +kubebuilder:validation:Optional
	ForecastURI string `json:"forecastURI,omitempty" protobuf:"bytes,3,rep,name=forecastURI"`
	// Mark forecast as a failure.
	// +kubebuilder:validation:Optional
	Failed *bool `json:"failed,omitempty" protobuf:"bytes,4,opt,name=failed"`
	// In case of failure, this is the failure message
	// +kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,5,opt,name=failureMsg"`
	// Holds the worker on going result, when a worker finish, we update the location of thier result files
	// +kubebuilder:validation:Optional
	WorkerResults []catalog.WorkerRunResult `json:"workerResults,omitempty" protobuf:"bytes,6,opt,name=workerResults"`
}

The result of forecasting one item. The forecast data itself is stored on the cloud. The dataURI is pointing to the forecast, the profile URI

func (*ForecastStatus) DeepCopy added in v0.5.102

func (in *ForecastStatus) DeepCopy() *ForecastStatus

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

func (*ForecastStatus) DeepCopyInto added in v0.5.102

func (in *ForecastStatus) DeepCopyInto(out *ForecastStatus)

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

type ForwardCurtainSpec added in v0.4.914

type ForwardCurtainSpec struct {
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The forward curtain receives prediction requests before the prediction (currently unimplemented)
	// +kubebuilder:validation:Optional
	CurtainRef *v1.ObjectReference `json:"curtainRef,omitempty" protobuf:"bytes,2,opt,name=curtainRef"`
	// Percent of request that are sent to the foreward curtain.
	// +kubebuilder:default:=0
	// +kubebuilder:validation:Optional
	Percent *int32 `json:"percent,omitempty" protobuf:"bytes,3,opt,name=percent"`
}

func (*ForwardCurtainSpec) DeepCopy added in v0.4.915

func (in *ForwardCurtainSpec) DeepCopy() *ForwardCurtainSpec

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

func (*ForwardCurtainSpec) DeepCopyInto added in v0.4.915

func (in *ForwardCurtainSpec) DeepCopyInto(out *ForwardCurtainSpec)

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

type GroupPredictionLocationsSpec added in v0.5.210

type GroupPredictionLocationsSpec struct {
	// The folder of group data
	// +kubebuilder:validation:Optional
	GroupForecastFile *string `json:"groupForecastFile,omitempty" protobuf:"bytes,2,opt,name=groupForecastFile"`
}

func (*GroupPredictionLocationsSpec) DeepCopy added in v0.5.249

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

func (*GroupPredictionLocationsSpec) DeepCopyInto added in v0.5.249

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

type K8sObjectStatusState added in v0.4.833

type K8sObjectStatusState string
const (
	K8sObjectStatusHealthy K8sObjectStatusState = "healthy"
	K8sObjectStatusWarning K8sObjectStatusState = "warning"
	K8sObjectStatusError   K8sObjectStatusState = "error"
	K8sObjectStatusUnknown K8sObjectStatusState = "unknown"
)

type KubernetesObjectStatus added in v0.4.844

type KubernetesObjectStatus struct {
	// The object reference
	// +kubebuilder:validation:Optional
	Ref *v1.ObjectReference `json:"ref,omitempty" protobuf:"bytes,1,opt,name=ref"`
	// The status of the object
	// +kubebuilder:validation:Optional
	Status K8sObjectStatusState `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"`
}

KubernetesObjectStatus describes the location and status of a Kubernetes-native resource

func AddOrUpdateK8sStatuses added in v0.4.833

func AddOrUpdateK8sStatuses(current []KubernetesObjectStatus, status KubernetesObjectStatus) []KubernetesObjectStatus

func (*KubernetesObjectStatus) DeepCopy added in v0.4.844

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

func (*KubernetesObjectStatus) DeepCopyInto added in v0.4.844

func (in *KubernetesObjectStatus) DeepCopyInto(out *KubernetesObjectStatus)

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

type MetricHistory added in v0.5.114

type MetricHistory struct {
	// The Metric Name
	// +kubebuilder:validation:Optional
	Metric catalog.Metric `json:"metric,omitempty" protobuf:"bytes,1,rep,name=metric"`
	// History
	// +kubebuilder:validation:Optional
	History []float64 `json:"history,omitempty" protobuf:"bytes,2,rep,name=history"`
}

Hold the Last X measurments of a metric

func (*MetricHistory) DeepCopy added in v0.5.116

func (in *MetricHistory) DeepCopy() *MetricHistory

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

func (*MetricHistory) DeepCopyInto added in v0.5.116

func (in *MetricHistory) DeepCopyInto(out *MetricHistory)

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

type ModelDeploymentPhase added in v0.4.784

type ModelDeploymentPhase string
const (
	ModelDeploymentPhaseDeploying ModelDeploymentPhase = "Deploying"
	ModelDeploymentPhaseDeployed  ModelDeploymentPhase = "Deployed"
	ModelDeploymentPhaseShadowing ModelDeploymentPhase = "Shadowing"
	ModelDeploymentPhaseReleasing ModelDeploymentPhase = "Releasing"
	ModelDeploymentPhaseReleased  ModelDeploymentPhase = "Released"
	ModelDeploymentPhaseFailed    ModelDeploymentPhase = "Failed"
)

type ModelDeploymentStatus added in v0.4.784

type ModelDeploymentStatus struct {
	// The name of the Model resource associated with the deployment
	// +kubebuilder:validation:Optional
	ModelName string `json:"modelName,omitempty" protobuf:"bytes,1,opt,name=modelName"`
	// The version of the Model resource
	// +kubebuilder:validation:Optional
	ModelVersion string `json:"modelVersion,omitempty" protobuf:"bytes,2,opt,name=modelVersion"`
	// The image name that the deployment is currently running
	// +kubebuilder:validation:Optional
	ImageName string `json:"imageName,omitempty" protobuf:"bytes,3,opt,name=imageName"`
	// The name of the Kubernetes Deployment that manages the pods of the Model
	// +kubebuilder:validation:Optional
	DeploymentRef v1.ObjectReference `json:"deploymentRef,omitempty" protobuf:"bytes,4,opt,name=deploymentRef"`
	// The name of the Kubernetes Service which exposes the Model externally
	// +kubebuilder:validation:Optional
	ServiceRef v1.ObjectReference `json:"serviceRef,omitempty" protobuf:"bytes,5,opt,name=serviceRef"`
	// the name of the horizonal pod autoscaler, if autoscaling is true
	// +kubebuilder:validation:Optional
	HPARef v1.ObjectReference `json:"hpaRef,omitempty" protobuf:"bytes,6,opt,name=hpaRef"`
	// 50% latency (median) for predictions served by the model
	// +kubebuilder:validation:Optional
	P50 float64 `json:"p50,omitempty" protobuf:"bytes,7,opt,name=p50"`
	// 95% latency for predictions served by the model
	// +kubebuilder:validation:Optional
	P95 float64 `json:"p95,omitempty" protobuf:"bytes,8,opt,name=p95"`
	// 99% latency for predictions served by the model
	// +kubebuilder:validation:Optional
	P99 float64 `json:"p99,omitempty" protobuf:"bytes,9,opt,name=p99"`
	// The last time a prediction was served by the Predictorlet
	// +kubebuilder:validation:Optional
	LastPredictionTime *metav1.Time `json:"lastPredictionTime,omitempty" protobuf:"bytes,10,opt,name=lastPredictionTime"`
	// +kubebuilder:validation:Optional
	DailyPredictionAvg int32 `json:"dailyPredictionAvg,omitempty" protobuf:"varint,11,opt,name=dailyPredictionAvg"`
	// LastFailure is the last failure that occured with the model
	// +kubebuilder:validation:Optional
	LastFailure string `json:"lastFailure,omitempty" protobuf:"bytes,12,opt,name=lastFailure"`
	// Phase is the current phase of the model deployment
	// +kubebuilder:validation:Optional
	Phase ModelDeploymentPhase `json:"phase,omitempty" protobuf:"bytes,13,opt,name=phase"`
	// DeployedAt is the last time that the model was deployed
	// +kubebuilder:validation:Optional
	DeployedAt *metav1.Time `json:"deployedAt,omitempty" protobuf:"bytes,14,opt,name=deployedAt"`
	// ReleasedAt is the time that the model was released
	// +kubebuilder:validation:Optional
	ReleasedAt *metav1.Time `json:"releasedAt,omitempty" protobuf:"bytes,15,opt,name=releasedAt"`
	// Indicates if a data drift has been detected based on incoming prediction data
	// +kubebuilder:validation:Optional
	DataDrift bool `json:"dataDrift,omitempty" protobuf:"varint,16,opt,name=dataDrift"`
	// Indicates if a concept drift has been detected based on incoming prediction data
	// +kubebuilder:validation:Optional
	ConceptDrift bool `json:"conceptDrift,omitempty" protobuf:"varint,17,opt,name=conceptDrift"`
	// The predictions from the last 7 days
	// +kubebuilder:validation:Optional
	LastDailyPredictions []int32 `json:"lastDailyPredictions,omitempty" protobuf:"bytes,18,rep,name=lastDailyPredictions"`
	// +kubebuilder:validation:Optional
	ObjectStatuses []KubernetesObjectStatus `json:"objectStatuses,omitempty" protobuf:"bytes,19,rep,name=objectStatuses"`
	// the set of validation errors
	// +kubebuilder:validation:Optional
	Errors []ValidationError `json:"errors,omitempty" protobuf:"bytes,20,opt,name=errors"`
	// Ref to the last ground true dataset that this model was tested against.
	// +kubebuilder:validation:Optional
	LastFeedbackDatasetRef v1.ObjectReference `json:"lastFeedbackDatasetRef,omitempty" protobuf:"bytes,21,opt,name=lastFeedbackDatasetRef"`
	// Last time that a ground true test was done.
	// +kubebuilder:validation:Optional
	LastFeedbackTest *metav1.Time `json:"lastFeedbackTest,omitempty" protobuf:"bytes,22,opt,name=lastFeedbackTest"`
	// Last results of the ground truth tests.
	// +kubebuilder:validation:Optional
	LastFeedbackTestResults []catalog.Measurement `json:"lastFeedbackTestResults,omitempty" protobuf:"bytes,23,opt,name=lastFeedbackTestResults"`
	// Holds the last N metrics for this model
	// +kubebuilder:validation:Optional
	MetricHistory map[catalog.Metric]MetricHistory `json:"metricHistory,omitempty" protobuf:"bytes,24,opt,name=metricsHistory"`
}

func (*ModelDeploymentStatus) DeepCopy added in v0.4.784

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

func (*ModelDeploymentStatus) DeepCopyInto added in v0.4.784

func (in *ModelDeploymentStatus) DeepCopyInto(out *ModelDeploymentStatus)

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

type ModelRecord

type ModelRecord struct {
	// Model Name is the name of the model
	// +kubebuilder:validation:Optional
	ModelName string `json:"modelName,omitempty" protobuf:"bytes,1,opt,name=modelName"`
	// Model version is the version of the model
	// +kubebuilder:validation:Optional
	ModelVersion string `json:"modelVersion,omitempty" protobuf:"bytes,2,opt,name=modelVersion"`
	// Live at is the time that the model were placed in production
	// +kubebuilder:validation:Optional
	LiveAt *metav1.Time `json:"liveAt,omitempty" protobuf:"bytes,3,opt,name=liveAt"`
	// Retried at is the time that the model was retired from production.
	// +kubebuilder:validation:Optional
	RetiredAt *metav1.Time `json:"retiredAt,omitempty" protobuf:"bytes,4,opt,name=retiredAt"`
	// Retried at is the time that the model was retired from production.
	// +kubebuilder:validation:Optional
	AvgDailyPrediction int32 `json:"avgDailyPrediction,omitempty" protobuf:"varint,5,opt,name=avgDailyPrediction"`
	// Retried at is the time that the model was retired from production.
	// +kubebuilder:validation:Optional
	AvgLatency float64 `json:"avgLatency,omitempty" protobuf:"bytes,6,opt,name=avgLatency"`
}

ModelRecord hold the state of a model that was in production

func (*ModelRecord) DeepCopy

func (in *ModelRecord) DeepCopy() *ModelRecord

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

func (*ModelRecord) DeepCopyInto

func (in *ModelRecord) DeepCopyInto(out *ModelRecord)

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

type ModelServingSpec added in v0.4.878

type ModelServingSpec struct {
	// If Serverless is true, the Kubernetes Deployment which serves the model will not be created
	// until it starts to receive prediction traffic, and will be destroyed once the model becomes dormant
	Serverless *bool `json:"serverless,omitempty" protobuf:"varint,2,opt,name=serverless"`

	UnitTestsTemplate catalog.TestSuite `json:"servingTests,omitempty" protobuf:"bytes,4,opt,name=servingTests"`
}

ModelServingSpec specifies the configuration for models to be served by a Predictor

func (*ModelServingSpec) DeepCopy added in v0.4.878

func (in *ModelServingSpec) DeepCopy() *ModelServingSpec

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

func (*ModelServingSpec) DeepCopyInto added in v0.4.878

func (in *ModelServingSpec) DeepCopyInto(out *ModelServingSpec)

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

type OnlineFeatureStoreSpec added in v0.4.784

type OnlineFeatureStoreSpec struct {
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The host name of the feature store micro service.
	// +kubebuilder:default:=""
	Hostname *string `json:"hostname,omitempty" protobuf:"bytes,2,opt,name=hostname"`
}

OnlineFeaturestoreSpec specifies the connection information for an online feature store

func (*OnlineFeatureStoreSpec) DeepCopy added in v0.4.784

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

func (*OnlineFeatureStoreSpec) DeepCopyInto added in v0.4.784

func (in *OnlineFeatureStoreSpec) DeepCopyInto(out *OnlineFeatureStoreSpec)

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

type OnlineStoreStatus added in v0.4.784

type OnlineStoreStatus struct {
	// LastAccessed specifies the last time the online store was accessed
	LastAccessed *metav1.Time `json:"lastAccessed,omitempty" protobuf:"bytes,1,opt,name=lastAccessed"`
}

func (*OnlineStoreStatus) DeepCopy added in v0.4.784

func (in *OnlineStoreStatus) DeepCopy() *OnlineStoreStatus

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

func (*OnlineStoreStatus) DeepCopyInto added in v0.4.784

func (in *OnlineStoreStatus) DeepCopyInto(out *OnlineStoreStatus)

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

type Prediction

type Prediction struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              PredictionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status PredictionStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Prediction represents a single batch prediction on a dataset +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner",priority=1 +kubebuilder:printcolumn:name="Predictor",type="string",JSONPath=".spec.predictorName" +kubebuilder:printcolumn:name="Entity",type="string",JSONPath=".spec.datasetName" +kubebuilder:printcolumn:name="Labeled",type="string",JSONPath=".spec.labeled" +kubebuilder:printcolumn:name="Bucket",type="string",JSONPath=".spec.output.bucketName",priority=1 +kubebuilder:printcolumn:name="Key",type="string",JSONPath=".spec.output.path",priority=1 +kubebuilder:printcolumn:name="Score",type="string",JSONPath=".status.score" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +kubebuilder:printcolumn:name="Rows",type="string",JSONPath=".status.rows" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:resource:path=predictions,shortName=pred,singular=prediction,categories={inference,modela}

func ParsePredictionYaml

func ParsePredictionYaml(content []byte) (*Prediction, error)

func (*Prediction) AddFinalizer

func (prediction *Prediction) AddFinalizer()

func (*Prediction) CompletionAlert added in v0.4.601

func (prediction *Prediction) CompletionAlert(tenantRef *v1.ObjectReference, notifierName *string) *infra.Alert

func (*Prediction) ConstructDataset added in v0.5.87

func (prediction *Prediction) ConstructDataset() (*data.Dataset, error)

func (*Prediction) CreateOrUpdateCond

func (prediction *Prediction) CreateOrUpdateCond(cond PredictionCondition)

Merge or update condition Merge or update condition

func (*Prediction) DeepCopy

func (in *Prediction) DeepCopy() *Prediction

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

func (*Prediction) DeepCopyInto

func (in *Prediction) DeepCopyInto(out *Prediction)

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

func (*Prediction) DeepCopyObject

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

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

func (*Prediction) Default

func (prediction *Prediction) Default()

func (*Prediction) DriftAlert added in v0.5.92

func (fh *Prediction) DriftAlert(tenantRef *v1.ObjectReference, notifierName *string, columns []string) *infra.Alert

func (*Prediction) ErrorAlert added in v0.4.601

func (prediction *Prediction) ErrorAlert(tenantRef *v1.ObjectReference, notifierName *string, err error) *infra.Alert

func (*Prediction) GetCond

func (*Prediction) GetCondIdx

func (prediction *Prediction) GetCondIdx(t PredictionConditionType) int

func (*Prediction) HasFinalizer

func (prediction *Prediction) HasFinalizer() bool

func (*Prediction) IsCompleted

func (prediction *Prediction) IsCompleted() bool

func (*Prediction) IsFailed added in v0.4.614

func (in *Prediction) IsFailed() bool

func (*Prediction) IsSaved

func (version *Prediction) IsSaved() bool

func (*Prediction) Key

func (prediction *Prediction) Key() string

func (*Prediction) ManifestUri

func (prediction *Prediction) ManifestUri() string

func (*Prediction) MarkArchived added in v0.4.517

func (prediction *Prediction) MarkArchived()

func (*Prediction) MarkCompleted

func (prediction *Prediction) MarkCompleted()

func (*Prediction) MarkCreatingDataset added in v0.5.86

func (prediction *Prediction) MarkCreatingDataset()

func (*Prediction) MarkFailed

func (prediction *Prediction) MarkFailed(msg string)

func (*Prediction) MarkPending added in v0.5.86

func (prediction *Prediction) MarkPending()

Mark Expired

func (*Prediction) MarkRunning

func (run *Prediction) MarkRunning()

func (*Prediction) MarkSaved

func (version *Prediction) MarkSaved()

func (*Prediction) MarkUnitTestFailed added in v0.5.90

func (prediction *Prediction) MarkUnitTestFailed(msg string)

func (*Prediction) MarkUnitTested added in v0.5.91

func (prediction *Prediction) MarkUnitTested()

func (*Prediction) MarkUnitTesting added in v0.5.91

func (prediction *Prediction) MarkUnitTesting()

func (*Prediction) MarkWaitingForDataset added in v0.5.86

func (prediction *Prediction) MarkWaitingForDataset()

func (*Prediction) OpName

func (prediction *Prediction) OpName() string

func (*Prediction) PipelineName

func (prediction *Prediction) PipelineName() string

func (*Prediction) RemoveFinalizer

func (prediction *Prediction) RemoveFinalizer()

func (*Prediction) RepPath

func (prediction *Prediction) RepPath(root string) (string, error)

Return the on disk rep location

func (*Prediction) RootUri

func (prediction *Prediction) RootUri() string

func (*Prediction) RunStatus added in v0.4.614

func (run *Prediction) RunStatus() *catalog.LastRunStatus

Return the state of the run as RunStatus

func (*Prediction) SetupWebhookWithManager

func (prediction *Prediction) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Prediction) ValidateCreate

func (prediction *Prediction) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Prediction) ValidateDelete

func (prediction *Prediction) ValidateDelete() error

func (*Prediction) ValidateUpdate

func (prediction *Prediction) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PredictionCacheSpec

type PredictionCacheSpec struct {
	// Enabled indicates if predictions will be cached
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// InMemory indicates if predictions will be cached in the available memory of the Pod serving the model
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	InMemory *bool `json:"inMemory,omitempty" protobuf:"varint,2,opt,name=inMemory"`
	// Redis indicates if predictions will be cached in an external Redis deployment
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Redis *bool `json:"redis,omitempty" protobuf:"varint,3,opt,name=redis"`
	// The reference to a Connection resource to an external Redis deployment
	ConnectionRef *v1.ObjectReference `json:"connectionRef,omitempty" protobuf:"bytes,4,opt,name=connectionRef"`
}

PredictionCacheSpec specifies the connection information of a key-value cache to store predictions

func (*PredictionCacheSpec) DeepCopy

func (in *PredictionCacheSpec) DeepCopy() *PredictionCacheSpec

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

func (*PredictionCacheSpec) DeepCopyInto

func (in *PredictionCacheSpec) DeepCopyInto(out *PredictionCacheSpec)

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

type PredictionCacheStatus added in v0.4.784

type PredictionCacheStatus struct {
	// LastAccessed specifies the last time the prediction cache was accessed
	LastAccessed *metav1.Time `json:"lastAccessed,omitempty" protobuf:"bytes,1,opt,name=lastAccessed"`
}

func (*PredictionCacheStatus) DeepCopy added in v0.4.784

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

func (*PredictionCacheStatus) DeepCopyInto added in v0.4.784

func (in *PredictionCacheStatus) DeepCopyInto(out *PredictionCacheStatus)

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

type PredictionCondition

type PredictionCondition struct {
	// Type of Prediction condition
	Type PredictionConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=PredictionConditionType"`
	// Status of the condition, one of True, False, Unknown
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human-readable message indicating details about the transition
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

PredictionCondition describes the state of a Prediction at a certain point

func (*PredictionCondition) DeepCopy

func (in *PredictionCondition) DeepCopy() *PredictionCondition

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

func (*PredictionCondition) DeepCopyInto

func (in *PredictionCondition) DeepCopyInto(out *PredictionCondition)

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

type PredictionConditionType

type PredictionConditionType string

PredictionConditionType is the condition type of the prediction pipeline

const (
	PredictionCompleted  PredictionConditionType = "Completed"
	PredictionSaved      PredictionConditionType = "Saved"
	PredictionUnitTested PredictionConditionType = "UnitTested"
	PredictionArchived   PredictionConditionType = "Archived"
)

/ PredictionTemplate Condition

type PredictionList

type PredictionList struct {
	metav1.TypeMeta `json:",inline" `
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Prediction `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true PredictionList is a list of Predictions

func (*PredictionList) DeepCopy

func (in *PredictionList) DeepCopy() *PredictionList

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

func (*PredictionList) DeepCopyInto

func (in *PredictionList) DeepCopyInto(out *PredictionList)

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

func (*PredictionList) DeepCopyObject

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

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

type PredictionLoggingSpec added in v0.4.878

type PredictionLoggingSpec struct {
	// Indicates if prediction logging is enabled
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The number percentage (0 through 100) of prediction requests to log
	// +kubebuilder:default:=0
	// +kubebuilder:validation:Optional
	SamplePercent *int32 `json:"samplePercent,omitempty" protobuf:"varint,2,opt,name=samplePercent"`
	// Number of rows in the serving dataset
	// +kubebuilder:default:=0
	// +kubebuilder:validation:Optional
	Rows *int32 `json:"rows,omitempty" protobuf:"varint,3,opt,name=rows"`
	// Backup Frequency seconds.
	// +kubebuilder:default:=0
	// +kubebuilder:validation:Optional
	BackupFreqSeconds *int32 `json:"backupFreqSeconds,omitempty" protobuf:"varint,4,opt,name=backupFreqSeconds"`
	// Reference to backup location.
	// +kubebuilder:validation:Optional
	BackupConnectionRef v1.ObjectReference `json:"backupConnectionRef,omitempty" protobuf:"bytes,5,opt,name=backupConnectionRef"`
	// Target location of the serving dataset
	// +kubebuilder:validation:Optional
	Location data.DataLocation `json:"location,omitempty" protobuf:"bytes,6,opt,name=location"`
}

PredictionLoggingSpec specifies the configuration to log incoming and outgoing prediction requests

func (*PredictionLoggingSpec) DeepCopy added in v0.4.878

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

func (*PredictionLoggingSpec) DeepCopyInto added in v0.4.878

func (in *PredictionLoggingSpec) DeepCopyInto(out *PredictionLoggingSpec)

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

type PredictionPhase

type PredictionPhase string

ModelPhase is the current phase of a model

const (
	PredictionPhasePending           PredictionPhase = "Pending"
	PredictionPhaseCreatingDataset   PredictionPhase = "CreatingDataset"
	PredictionPhaseWaitingForDataset PredictionPhase = "WaitingForDataset"
	PredictionPhaseRunning           PredictionPhase = "Running"
	PredictionPhaseFailed            PredictionPhase = "Failed"
	PredictionPhaseAborted           PredictionPhase = "Aborted"
	PredictionPhaseCompleted         PredictionPhase = "Completed"
	PredictionPhaseUnitTesting       PredictionPhase = "UnitTesting"
	PredictionPhaseUnitTested        PredictionPhase = "UnitTested"
)

type PredictionSpec

type PredictionSpec struct {
	// The name of the DataProductVersion which describes the version of the resource
	// that exists in the same DataProduct namespace as the resource
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	VersionName *string `json:"versionName,omitempty" protobuf:"bytes,1,opt,name=versionName"`

	// The model class for this pipeline
	// +kubebuilder:validation:Optional
	ModelClassName *string `json:"modelClassName,omitempty" protobuf:"bytes,2,opt,name=modelClassName"`
	// PredictorRef is the name of the Predictor resource that will be used to evaluate predictions for the
	// unlabeled input dataset. The Predictor must exist in the same DataProduct namespace as the resource
	// +kubebuilder:validation:Required
	// +required
	PredictorRef *v1.ObjectReference `json:"predictorRef,omitempty" protobuf:"bytes,3,opt,name=predictorRef"`
	// If true, measurements for the metrics specified by the `Tests` field will be computed for each prediction and
	// stored in the Prediction's status with the average result of all predictions
	// +kubebuilder:default:=false
	// Used usually for unit testing
	Labeled *bool `json:"labeled,omitempty" protobuf:"varint,4,opt,name=labeled"`
	// Indicates if the prediction is a forecast
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Forecast *bool `json:"forecast,omitempty" protobuf:"varint,5,opt,name=forecast"`
	// A reference to the input data source ref
	// +kubebuilder:validation:Optional
	DataSourceRef v1.ObjectReference `json:"dataSourceRef,omitempty" protobuf:"bytes,6,opt,name=dataSourceRef"`
	// Output specifies the location where the predicted dataset will be stored
	// +kubebuilder:validation:Optional
	Input data.DataInputSpec `json:"input,omitempty" protobuf:"bytes,7,opt,name=input"`
	// Output specifies the location where the predicted dataset will be stored
	// +kubebuilder:validation:Optional
	Output data.DataOutputSpec `json:"output,omitempty" protobuf:"bytes,8,opt,name=output"`
	// If true create output dataset
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	CreateDataset *bool `json:"createDataset,omitempty" protobuf:"bytes,9,opt,name=createDataset"`
	// Tests specifies a collection of metrics that will be computed for each prediction
	// if the Labeled field of the Prediction is enabled
	// +kubebuilder:validation:Optional
	UnitTests training.ModelTestSuite `json:"unitTests,omitempty" protobuf:"bytes,10,opt,name=unitTests"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,11,opt,name=owner"`
	// Resources specifies the resource requirements that will be allocated to the batch prediction Job
	// +kubebuilder:validation:Optional
	Resources catalog.ResourceSpec `json:"resources,omitempty" protobuf:"bytes,12,opt,name=resources"`
	// The deadline for the batch prediction Job to be completed in seconds
	// +kubebuilder:default:=600
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Optional
	ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,13,opt,name=activeDeadlineSeconds"`
	// The priority of the Kubernetes Job created by the Prediction (medium, by default)
	// +kubebuilder:default:=medium
	// +kubebuilder:validation:Optional
	Priority *catalog.PriorityLevel `json:"priority,omitempty" protobuf:"bytes,14,opt,name=priority"`
	// Indicates if the Prediction was aborted and should stop execution
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Aborted *bool `json:"aborted,omitempty" protobuf:"varint,15,opt,name=aborted"`
	// The time-to-live of the Prediction, after which the Prediction will be archived
	// +kubebuilder:default:=0
	// +kubebuilder:validation:Optional
	TTL *int32 `json:"ttl,omitempty" protobuf:"varint,16,opt,name=ttl"`
	// The forecasting specification in the case that the predicted model is a hierarchical forecast
	// +kubebuilder:validation:Optional
	ForecastSpec ForecastPredictionSpec `json:"forecastSpec,omitempty" protobuf:"bytes,17,opt,name=forecastSpec"`
	// The reference to the ServingSite resource that hosts the Prediction
	// +kubebuilder:validation:Optional
	ServingSiteRef v1.ObjectReference `json:"servingsiteRef" protobuf:"bytes,19,opt,name=servingsiteRef"`
	// Locations for group forecasts
	// +kubebuilder:validation:Optional
	GroupLocation GroupPredictionLocationsSpec `json:"groupLocation" protobuf:"bytes,20,opt,name=groupLocation"`
	// In case of batch prediction, how many workers.
	// +kubebuilder:default:=1
	// +kubebuilder:validation:Optional
	Workers *int32 `json:"workers" protobuf:"bytes,21,opt,name=workers"`
}

PredictionSpec represent the desired state of Prediction

func (*PredictionSpec) DeepCopy

func (in *PredictionSpec) DeepCopy() *PredictionSpec

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

func (*PredictionSpec) DeepCopyInto

func (in *PredictionSpec) DeepCopyInto(out *PredictionSpec)

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

type PredictionStatus

type PredictionStatus struct {
	// StartTime denotes the time when the batch prediction Job started
	StartTime *metav1.Time `json:"startTime,omitempty" protobuf:"bytes,1,opt,name=startTime"`
	// EndTime denotes the time when the batch prediction Job completed or failed
	EndTime *metav1.Time `json:"endTime,omitempty" protobuf:"bytes,2,opt,name=endTime"`
	// The current phase of the prediction
	// +kubebuilder:default:="Pending"
	// +kubebuilder:validation:Optional
	Phase PredictionPhase `json:"phase,omitempty" protobuf:"bytes,3,opt,name=phase"`
	// The collection of metrics that represent the average measurement across all predictions for each
	// metric specified by the Tests field of the Predictor
	// +kubebuilder:validation:Optional
	UnitTestsResult catalog.TestSuiteResult `json:"unitTestsResult,omitempty" protobuf:"bytes,4,opt,name=unitTestsResult"`
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,5,opt,name=observedGeneration"`
	// The number of rows predicted
	//+kubebuilder:validation:Optional
	Rows int32 `json:"rows,omitempty" protobuf:"varint,6,opt,name=rows"`
	// The trigger that started the batch prediction
	//+kubebuilder:validation:Optional
	TriggeredBy catalog.TriggerType `json:"triggeredBy,omitempty" protobuf:"bytes,7,opt,name=triggeredBy"`
	// The location of logs produced by the batch prediction Job
	//+kubebuilder:validation:Optional
	Logs catalog.Logs `json:"logs,,omitempty" protobuf:"bytes,8,opt,name=logs"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,9,opt,name=lastUpdated"`
	// In the case of failure, the Prediction resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,10,opt,name=failureReason"`
	// In the case of failure, the Prediction resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,11,opt,name=failureMessage"`
	// The dataset that was generated.
	//+kubebuilder:validation:Optional
	DatasetRef v1.ObjectReference `json:"datasetRef,omitempty" protobuf:"bytes,12,opt,name=datasetRef"`
	// The histogram values, map from column name to an histogram
	// +kubebuilder:validation:Optional
	Columns []data.ColumnHistogram `json:"columns,omitempty" protobuf:"bytes,13,rep,name=columns"`
	// Set to true if drifted
	// +kubebuilder:validation:Optional
	Drifted bool `json:"drifted,omitempty" protobuf:"bytes,14,rep,name=drifted"`
	// the forecast results for this forecast
	//+kubebuilder:validation:Optional
	Forecast ForecastStatus `json:"forecast,omitempty" protobuf:"bytes,15,opt,name=forecast"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []PredictionCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,16,rep,name=conditions"`
}

PredictionStatus is the observed state of a Prediction

func (*PredictionStatus) DeepCopy

func (in *PredictionStatus) DeepCopy() *PredictionStatus

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

func (*PredictionStatus) DeepCopyInto

func (in *PredictionStatus) DeepCopyInto(out *PredictionStatus)

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

type PredictionTemplate

type PredictionTemplate struct {
	Spec PredictionSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"`
}

PredictionTemplate defines the specification for a Prediction resource to be created

func (*PredictionTemplate) DeepCopy

func (in *PredictionTemplate) DeepCopy() *PredictionTemplate

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

func (*PredictionTemplate) DeepCopyInto

func (in *PredictionTemplate) DeepCopyInto(out *PredictionTemplate)

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" protobuf:"bytes,1,opt,name=metadata"`
	Spec              PredictorSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status PredictorStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Predictor specifies the deployment of a service to serve predictions for a Model +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner",priority=1 +kubebuilder:printcolumn:name="Serving Site",type="string",JSONPath=".spec.servingsiteRef.name",description="" +kubebuilder:printcolumn:name="Port",type="integer",JSONPath=".spec.access.port",description="" +kubebuilder:printcolumn:name="Access",type="string",JSONPath=".spec.access.accessType",description="" +kubebuilder:printcolumn:name="Replicas",type="integer",JSONPath=".spec.replicas",description="" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=predictors,singular=predictor,shortName=pdr,categories={inference,modela}

func ParsePredictorYaml

func ParsePredictorYaml(content []byte) (*Predictor, error)

func (*Predictor) AddFinalizer

func (predictor *Predictor) AddFinalizer()

func (*Predictor) ConstructGrpcRule added in v0.4.693

func (predictor *Predictor) ConstructGrpcRule(fqdn string, serviceName string) *nwv1.IngressRule

func (*Predictor) ConstructRESTRule added in v0.4.693

func (predictor *Predictor) ConstructRESTRule(serviceName string) *nwv1.HTTPIngressPath

func (*Predictor) CreateOrUpdateCond

func (predictor *Predictor) CreateOrUpdateCond(cond PredictorCondition)

Merge or update condition Merge or update condition

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.

func (*Predictor) Default

func (predictor *Predictor) Default()

func (*Predictor) DeploymentName

func (r *Predictor) DeploymentName() string

func (*Predictor) DeploymentUri

func (predictor *Predictor) DeploymentUri() string

dataproducts/*/predictor/*/manifests/deployment-<name>.yaml

func (*Predictor) FullServiceName

func (r *Predictor) FullServiceName() string

func (*Predictor) GetCond

func (predictor *Predictor) GetCond(t PredictorConditionType) PredictorCondition

func (*Predictor) GetCondIdx

func (predictor *Predictor) GetCondIdx(t PredictorConditionType) int

func (Predictor) GetLiveModel added in v0.4.1001

func (p Predictor) GetLiveModel() *catalog.ModelDeploymentSpec

Get the first live model or none if none exist

func (*Predictor) GetLiveModelName added in v0.4.998

func (p *Predictor) GetLiveModelName() string

Return the live model name.

func (Predictor) GetShadowModels added in v0.4.1001

func (p Predictor) GetShadowModels() []catalog.ModelDeploymentSpec

func (*Predictor) GreenName

func (r *Predictor) GreenName() string

func (*Predictor) HasFinalizer

func (predictor *Predictor) HasFinalizer() bool

func (*Predictor) IsFailed added in v0.4.675

func (predictor *Predictor) IsFailed() bool

func (*Predictor) IsReady

func (predictor *Predictor) IsReady() bool

func (*Predictor) IsSaved

func (predictor *Predictor) IsSaved() bool

func (*Predictor) ManifestUri

func (predictor *Predictor) ManifestUri() string

func (*Predictor) MarkFailed added in v0.4.448

func (predictor *Predictor) MarkFailed(err string)

func (*Predictor) MarkReady

func (predictor *Predictor) MarkReady()

func (*Predictor) MarkSaved

func (predictor *Predictor) MarkSaved()

func (*Predictor) MirrorName

func (r *Predictor) MirrorName() string

func (*Predictor) RemoveFinalizer

func (predictor *Predictor) RemoveFinalizer()

func (*Predictor) RootUri

func (predictor *Predictor) RootUri() string

func (*Predictor) Selector

func (predictor *Predictor) Selector() *metav1.LabelSelector

func (*Predictor) ServiceName

func (r *Predictor) ServiceName() string

func (*Predictor) ServiceUri

func (predictor *Predictor) ServiceUri() string

dataproducts/*/predictor/*/manifests/service-<name>.yaml

func (*Predictor) SetupWebhookWithManager

func (predictor *Predictor) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Predictor) UpdateK8sDeploymentStatus added in v0.4.972

func (p *Predictor) UpdateK8sDeploymentStatus(model training.Model, deployment kapps.Deployment, k8sStatus KubernetesObjectStatus)

func (*Predictor) UpdateK8sServiceStatus added in v0.4.972

func (p *Predictor) UpdateK8sServiceStatus(model training.Model, service v1.Service, k8sStatus KubernetesObjectStatus)

func (*Predictor) ValidateCreate

func (predictor *Predictor) ValidateCreate() error

func (*Predictor) ValidateDelete

func (predictor *Predictor) ValidateDelete() error

func (*Predictor) ValidateUpdate

func (predictor *Predictor) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PredictorCondition

type PredictorCondition struct {
	// Type of Predictor condition
	Type PredictorConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=PredictorConditionType"`
	// Status of the condition, one of True, False, Unknown
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human-readable message indicating details about the transition
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

PredictorCondition describes the state of a Predictor at a certain point

func (*PredictorCondition) DeepCopy

func (in *PredictorCondition) DeepCopy() *PredictorCondition

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

func (*PredictorCondition) DeepCopyInto

func (in *PredictorCondition) DeepCopyInto(out *PredictorCondition)

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

type PredictorConditionType

type PredictorConditionType string

Predictor condition

const (
	PredictorReady PredictorConditionType = "Ready"
	PredictorSaved PredictorConditionType = "Saved"
)

/ Predictor Condition

type PredictorList

type PredictorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Predictor `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true PredictorList contains a list of Predictors

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 PredictorSpec

type PredictorSpec struct {
	// If specified, the name of the DataProductVersion which describes the version of the resource
	// that exists in the same DataProduct namespace as the resource
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	VersionName *string `json:"versionName,omitempty" protobuf:"bytes,1,opt,name=versionName"`
	// The model class for this pipeline
	// +kubebuilder:validation:Optional
	ModelClassName *string `json:"modelClassName,omitempty" protobuf:"bytes,2,opt,name=modelClassName"`
	// If specified, the user-provided description of the Predictor
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:default:=""
	Description *string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"`
	// The reference to the DataProduct that the resource exists under
	ProductRef *v1.ObjectReference `json:"productRef" protobuf:"bytes,4,opt,name=productRef"`
	// The type of predictor (online, batch, or streaming). Online is the only supported type as of the current release
	// +kubebuilder:default:="online"
	// +kubebuilder:validation:Optional
	Type *catalog.PredictorType `json:"type,omitempty" protobuf:"bytes,5,opt,name=type"`
	// If specified, the reference to the ServingSite resource that hosts the Predictor
	// If not specified, the predictor will be hosted on the default serving site.
	// +kubebuilder:validation:Optional
	ServingSiteRef *v1.ObjectReference `json:"servingsiteRef" protobuf:"bytes,6,opt,name=servingsiteRef"`
	// If specified, the collection of shadow models. A shadow model receives prediction request, but does
	// not serve the reply.
	// +kubebuilder:validation:Optional
	Models []catalog.ModelDeploymentSpec `json:"models,omitempty" protobuf:"bytes,7,rep,name=models"`
	// The specification to progressively deploy a new live model. ModelDeploymentSpec specifications within Models that have the
	// `Canary` field enabled will be progressively deployed according to the specification when they are applied to the Predictor
	// +kubebuilder:validation:Optional
	Progressive *ProgressiveSpec `json:"progressive,omitempty" protobuf:"bytes,8,opt,name=progressive"`
	// The data location where artifacts generated by the Predictor will be stored
	// +kubebuilder:validation:Optional
	ArtifactsFolder data.DataLocation `json:"artifactsFolder,omitempty" protobuf:"bytes,9,opt,name=artifactsFolder"`
	// Access specifies the configuration for the Predictor service to be exposed externally
	// +kubebuilder:validation:Optional
	Access catalog.AccessSpec `json:"access,omitempty" protobuf:"bytes,10,opt,name=access"`
	// The number of replicas for the Kubernetes Deployment associated with the Predictor, which will instantiate multiple
	// copies of the service in the case that automatic scaling is disabled
	// +kubebuilder:validation:Optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,11,opt,name=replicas"`
	// AutoScaling specifies the auto-scaling policy
	// +kubebuilder:validation:Optional
	AutoScaling AutoScalingSpec `json:"autoScaling,omitempty" protobuf:"bytes,12,opt,name=autoScaling"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,13,opt,name=owner"`
	// Resources specifies the resource requirements allocated to the prediction service
	// +kubebuilder:validation:Optional
	Resources catalog.ResourceSpec `json:"resources,omitempty" protobuf:"bytes,14,opt,name=resources"`
	// Cache specifies the configuration of the prediction cache
	Cache PredictionCacheSpec `json:"cache,omitempty" protobuf:"bytes,15,opt,name=cache"`
	// Store specifies the configuration of the online data store
	Store OnlineFeatureStoreSpec `json:"store,omitempty" protobuf:"bytes,16,opt,name=store"`
	// Serving specifies the configuration for individual models to handle prediction traffic
	Serving ModelServingSpec `json:"serving,omitempty" protobuf:"bytes,17,opt,name=serving"`
	// The task type of the Predictor, which should match the task type of the models being served
	// +kubebuilder:default:="unknown"
	// +kubebuilder:validation:Optional
	Task *catalog.MLTask `json:"task,omitempty" protobuf:"bytes,18,opt,name=task"`
	// The prediction threshold
	// +kubebuilder:validation:Optional
	PredictionThreshold *float64 `json:"predictionThreshold,omitempty" protobuf:"bytes,19,opt,name=predictionThreshold"`
	// Spec for the drift detection process
	// +kubebuilder:validation:Optional
	Drift DriftDetectionSpec `json:"drift,omitempty" protobuf:"bytes,20,opt,name=drift"`
	// Spec for the ground truth process.
	// +kubebuilder:validation:Optional
	Feedback FeedbackTestSpec `json:"feedback,omitempty" protobuf:"bytes,21,opt,name=feedback"`
	// NotifierRef references a Notifier resource that will be triggered in the case that a concept or data drift is detected
	// +kubebuilder:validation:Optional
	NotifierRef *v1.ObjectReference `json:"notifierRef,omitempty" protobuf:"bytes,22,opt,name=notifierRef"`
	// Monitor spec specify the monitor for this predictor.
	// +kubebuilder:validation:Optional
	PredictionLogging PredictionLoggingSpec `json:"predictionLogging,omitempty" protobuf:"bytes,23,opt,name=predictionLogging"`
	// Forward curtain
	// +kubebuilder:validation:Optional
	ForwardCurtain ForwardCurtainSpec `json:"forwardCurtain,omitempty" protobuf:"bytes,24,opt,name=forwardCurtain"`
	// Backward curtain
	// +kubebuilder:validation:Optional
	BackwardCurtain BackwardCurtainSpec `json:"backwardCurtain,omitempty" protobuf:"bytes,25,opt,name=backwardCurtain"`
	// Fast slow is the specification of deployment of a fast - slow models.
	// +kubebuilder:validation:Optional
	FastSlow FastSlowModelSpec `json:"fastSlow,omitempty" protobuf:"bytes,26,opt,name=fastSlow"`
	// The batch prediction settings for this predictor
	// +kubebuilder:validation:Optional
	Batch BatchPredictionSpec `json:"batch,omitempty" protobuf:"bytes,27,opt,name=batch"`
}

PredictorSpec defines the desired state of a Predictor

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 {
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
	// The collection of historical records of models deployed to the Predictor, used internally to roll-back models
	//+kubebuilder:validation:Optional
	History []ModelRecord `json:"history,omitempty" protobuf:"bytes,2,opt,name=history"`
	// The status of the shadow models
	// +kubebuilder:validation:Optional
	ModelStatus []ModelDeploymentStatus `json:"modelsStatus,omitempty" protobuf:"bytes,4,rep,name=modelsStatus"`
	// The status of the Predictorlet associated with the Predictor. The Predictorlet is a service which handles prediction traffic
	// and routes predictions to individual models based on the specification of the Predictor
	// +kubebuilder:validation:Optional
	PredictorletStatus PredictorletStatus `json:"predictorletStatus,omitempty" protobuf:"bytes,5,opt,name=predictorletStatus"`
	// The status of the prediction cache managed by the Predictor
	// +kubebuilder:validation:Optional
	CacheStatus PredictionCacheStatus `json:"cacheStatus,omitempty" protobuf:"bytes,6,opt,name=cacheStatus"`
	// The status of the online store managed by the Predictor
	// +kubebuilder:validation:Optional
	OnlineStore OnlineStoreStatus `json:"onlineStoreStatus,omitempty" protobuf:"bytes,7,opt,name=onlineStoreStatus"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,8,opt,name=lastUpdated"`
	// The end-point URL of the Predictor
	//+kubebuilder:validation:Optional
	EndPoint string `json:"endPoint,omitempty" protobuf:"bytes,9,opt,name=endPoint"`
	// In the case of failure, the Predictor resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,10,opt,name=failureReason"`
	// In the case of failure, the Predictor resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,11,opt,name=failureMessage"`
	// The status of the load balancer, if the Predictor's access type is LoadBalancer
	//+kubebuilder:validation:Optional
	LoadBalancerStatus *v1.LoadBalancerStatus `json:"loadBalancerStatus,omitempty" protobuf:"bytes,12,opt,name=loadBalancerStatus"`
	// The last time that a prediction dataset was created
	//+kubebuilder:validation:Optional
	LastPredictionDataset v1.ObjectReference `json:"lastPredictionDataset,omitempty" protobuf:"bytes,13,opt,name=lastPredictionDataset"`
	// The results of running the serving tests
	//+kubebuilder:validation:Optional
	ServingTestResult catalog.TestSuiteResult `json:"servingTestResult,omitempty" protobuf:"bytes,14,opt,name=servingTestsResults"`
	// The status for the batch prediction.
	//+kubebuilder:validation:Optional
	PredictionSchedule catalog.RunScheduleStatus `json:"predictionSchedule,omitempty" protobuf:"bytes,15,opt,name=predictionSchedule"`
	// The last time we performed prediction
	//+kubebuilder:validation:Optional
	LastPrediction *metav1.Time `json:"lastPrediction,omitempty" protobuf:"bytes,16,opt,name=lastPrediction"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []PredictorCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,17,rep,name=conditions"`
}

PredictorStatus contain the current state of the Predictor resource

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.

type PredictorletStatus added in v0.4.784

type PredictorletStatus struct {
	// The image name that the Predictorlet is currently running
	// +kubebuilder:validation:Optional
	ImageName string `json:"imageName,omitempty" protobuf:"bytes,1,opt,name=imageName"`
	// The name of the Kubernetes Deployment that manages the pods of the Predictorlet
	// +kubebuilder:validation:Optional
	DeploymentRef v1.ObjectReference `json:"deploymentRef,omitempty" protobuf:"bytes,2,opt,name=deploymentRef"`
	// The name of the Kubernetes Service which exposes the Predictorlet externally
	// +kubebuilder:validation:Optional
	ServiceRef v1.ObjectReference `json:"serviceRef,omitempty" protobuf:"bytes,3,opt,name=serviceRef"`
	// 50% latency (median) for predictions served by the Predictorlet
	// +kubebuilder:validation:Optional
	P50 float64 `json:"p50,omitempty" protobuf:"bytes,4,opt,name=p50"`
	// 95% latency for predictions served by the Predictorlet
	// +kubebuilder:validation:Optional
	P95 float64 `json:"p95,omitempty" protobuf:"bytes,5,opt,name=p95"`
	// 99% latency for predictions served by the Predictorlet
	// +kubebuilder:validation:Optional
	P99 float64 `json:"p99,omitempty" protobuf:"bytes,6,opt,name=p99"`
	// +kubebuilder:validation:Optional
	DailyPredictionAvg int32 `json:"dailyPredictionAvg,omitempty" protobuf:"varint,7,opt,name=dailyPredictionAvg"`
	// The total number of predictions served by the Predictorlet
	TotalPredictions int32 `json:"totalPredictions,omitempty" protobuf:"varint,8,opt,name=totalPredictions"`
	// The predictions from the last 7 days
	LastDailyPredictions []int32 `json:"lastDailyPredictions,omitempty" protobuf:"bytes,9,rep,name=lastDailyPredictions"`
	// The last time a prediction was served by the Predictorlet
	// +kubebuilder:validation:Optional
	LastPredictionTime *metav1.Time `json:"lastPredictionTime,omitempty" protobuf:"bytes,10,opt,name=lastPredictionTime"`
	// LastFailure contains the last failure that occured with a model served by the Predictorlet
	// +kubebuilder:validation:Optional
	LastFailure string `json:"lastFailure,omitempty" protobuf:"bytes,11,opt,name=lastFailure"`
	// +kubebuilder:validation:Optional
	ObjectStatuses []KubernetesObjectStatus `json:"objectStatuses,omitempty" protobuf:"bytes,12,rep,name=objectStatuses"`
}

PredictorletStatus describes the current state of a prediction proxy service associated with a Predictor

func (*PredictorletStatus) DeepCopy added in v0.4.784

func (in *PredictorletStatus) DeepCopy() *PredictorletStatus

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

func (*PredictorletStatus) DeepCopyInto added in v0.4.784

func (in *PredictorletStatus) DeepCopyInto(out *PredictorletStatus)

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

type ProgressiveSpec

type ProgressiveSpec struct {
	// The time, in seconds, for the warm-up period
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:validation:Minimum=0
	Warmup *int32 `json:"warmup,omitempty" protobuf:"varint,1,opt,name=warmup"`
	// The percentage of traffic to increment
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Optional
	TrafficIncrement *int32 `json:"trafficIncrement,omitempty" protobuf:"varint,2,opt,name=trafficIncrement"`
	// What metric to use when comparing the candidate model to the current model
	// +kubebuilder:validation:Optional
	CanaryMetrics []catalog.Metric `json:"canaryMetrics,omitempty" protobuf:"bytes,3,rep,name=canaryMetrics"`
}

ProgressiveSpec defines the specification to progressively deploy a model to production

func (*ProgressiveSpec) DeepCopy

func (in *ProgressiveSpec) DeepCopy() *ProgressiveSpec

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

func (*ProgressiveSpec) DeepCopyInto

func (in *ProgressiveSpec) DeepCopyInto(out *ProgressiveSpec)

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

type ValidationError added in v0.4.907

type ValidationError struct {
	// The name of the column
	Column string `json:"column,omitempty" protobuf:"bytes,1,opt,name=column"`
	// The metric from the rule
	Metric catalog.Metric `json:"metric,omitempty" protobuf:"bytes,2,opt,name=metric"`
	// Expected min
	Min float64 `json:"min,omitempty" protobuf:"bytes,3,opt,name=min"`
	// Expected max
	Max float64 `json:"max,omitempty" protobuf:"bytes,4,opt,name=max"`
	// Actual value
	Actual float64 `json:"actual,omitempty" protobuf:"bytes,5,opt,name=actual"`
}

func (*ValidationError) DeepCopy added in v0.4.908

func (in *ValidationError) DeepCopy() *ValidationError

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

func (*ValidationError) DeepCopyInto added in v0.4.908

func (in *ValidationError) DeepCopyInto(out *ValidationError)

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

Jump to

Keyboard shortcuts

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