Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the orchestration v1alpha1 API group +kubebuilder:object:generate=true +groupName=orchestration.aibrix.ai
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type ExternalConnectionConfig
- type KVCache
- type KVCacheList
- type KVCacheSpec
- type KVCacheStatus
- type MetadataConfig
- type MetadataSpec
- type RayClusterFleet
- type RayClusterFleetCondition
- type RayClusterFleetConditionType
- type RayClusterFleetList
- type RayClusterFleetSpec
- type RayClusterFleetStatus
- type RayClusterReplicaSet
- type RayClusterReplicaSetList
- type RayClusterReplicaSetSpec
- type RayClusterReplicaSetStatus
- type RayClusterTemplateSpec
- type RuntimeSpec
- type ServiceSpec
Constants ¶
const ( // RayClusterReplicaSetReplicaFailure is added in a replica set when one of its ray cluster fails to be created // due to insufficient quota, limit ranges, pod security policy, node selectors, etc. or deleted // due to kubelet being down or finalizers are failing. RayClusterReplicaSetReplicaFailure string = "ReplicaFailure" )
These are valid conditions of a replica set.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "orchestration.aibrix.ai", Version: "v1alpha1"} // SchemeGroupVersion is group version used to register these objects. SchemeGroupVersion = GroupVersion // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Types ¶
type ExternalConnectionConfig ¶
type ExternalConnectionConfig struct {
// Address to connect to (host:port)
Address string `json:"address,omitempty"`
// Optional secret reference for password or credential
PasswordSecretRef string `json:"passwordSecretRef,omitempty"`
}
ExternalConnectionConfig holds config for connecting to external metadata service
func (*ExternalConnectionConfig) DeepCopy ¶
func (in *ExternalConnectionConfig) DeepCopy() *ExternalConnectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalConnectionConfig.
func (*ExternalConnectionConfig) DeepCopyInto ¶
func (in *ExternalConnectionConfig) DeepCopyInto(out *ExternalConnectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KVCache ¶
type KVCache struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KVCacheSpec `json:"spec,omitempty"`
Status KVCacheStatus `json:"status,omitempty"`
}
KVCache is the Schema for the kvcaches API
func (*KVCache) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KVCache.
func (*KVCache) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KVCache) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KVCacheList ¶
type KVCacheList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KVCache `json:"items"`
}
KVCacheList contains a list of KVCache
func (*KVCacheList) DeepCopy ¶
func (in *KVCacheList) DeepCopy() *KVCacheList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KVCacheList.
func (*KVCacheList) DeepCopyInto ¶
func (in *KVCacheList) DeepCopyInto(out *KVCacheList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KVCacheList) DeepCopyObject ¶
func (in *KVCacheList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KVCacheSpec ¶
type KVCacheSpec struct {
// +kubebuilder:default:=distributed
Mode string `json:"mode,omitempty"` // centralized | distributed
// Metadata configuration for kv cache service
// +kubebuilder:validation:Optional
Metadata *MetadataSpec `json:"metadata,omitempty"`
// kvcache dataplane container configuration
// +kubebuilder:validation:Optional
//nolint: lll
// +kubebuilder:default:={image: "aibrix/kvcache:20241120", imagePullPolicy: "IfNotPresent"}
Cache RuntimeSpec `json:"cache,omitempty"`
// kvcache watcher pod for member registration
// +kubebuilder:validation:Optional
Watcher *RuntimeSpec `json:"watcher,omitempty"`
// cache's service
// +kubebuilder:validation:Optional
Service ServiceSpec `json:"service,omitempty"`
}
KVCacheSpec defines the desired state of KVCache
func (*KVCacheSpec) DeepCopy ¶
func (in *KVCacheSpec) DeepCopy() *KVCacheSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KVCacheSpec.
func (*KVCacheSpec) DeepCopyInto ¶
func (in *KVCacheSpec) DeepCopyInto(out *KVCacheSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KVCacheStatus ¶
type KVCacheStatus struct {
// Total replicas of current running kv cache instances.
ReadyReplicas int32 `json:"current,omitempty"`
// Represents the kv cache deployment's current state.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
KVCacheStatus defines the observed state of KVCache
func (*KVCacheStatus) DeepCopy ¶
func (in *KVCacheStatus) DeepCopy() *KVCacheStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KVCacheStatus.
func (*KVCacheStatus) DeepCopyInto ¶
func (in *KVCacheStatus) DeepCopyInto(out *KVCacheStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataConfig ¶
type MetadataConfig struct {
ExternalConnection *ExternalConnectionConfig `json:"externalConnection,omitempty"`
Runtime *RuntimeSpec `json:"runtime,omitempty"`
}
MetadataConfig provides the configuration fields for deploying Redis.
func (*MetadataConfig) DeepCopy ¶
func (in *MetadataConfig) DeepCopy() *MetadataConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataConfig.
func (*MetadataConfig) DeepCopyInto ¶
func (in *MetadataConfig) DeepCopyInto(out *MetadataConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataSpec ¶
type MetadataSpec struct {
Redis *MetadataConfig `json:"redis,omitempty"`
Etcd *MetadataConfig `json:"etcd,omitempty"`
}
MetadataSpec holds deployment or external connection config for metadata services
func (*MetadataSpec) DeepCopy ¶
func (in *MetadataSpec) DeepCopy() *MetadataSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataSpec.
func (*MetadataSpec) DeepCopyInto ¶
func (in *MetadataSpec) DeepCopyInto(out *MetadataSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterFleet ¶
type RayClusterFleet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RayClusterFleetSpec `json:"spec,omitempty"`
Status RayClusterFleetStatus `json:"status,omitempty"`
}
RayClusterFleet is the Schema for the rayclusterfleets API
func (*RayClusterFleet) DeepCopy ¶
func (in *RayClusterFleet) DeepCopy() *RayClusterFleet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterFleet.
func (*RayClusterFleet) DeepCopyInto ¶
func (in *RayClusterFleet) DeepCopyInto(out *RayClusterFleet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayClusterFleet) DeepCopyObject ¶
func (in *RayClusterFleet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayClusterFleetCondition ¶
type RayClusterFleetCondition struct {
// Type of deployment condition.
Type RayClusterFleetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentConditionType"`
// 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"`
// The last time this condition was updated.
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,6,opt,name=lastUpdateTime"`
// 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"`
}
DeploymentCondition describes the state of a deployment at a certain point.
func (*RayClusterFleetCondition) DeepCopy ¶
func (in *RayClusterFleetCondition) DeepCopy() *RayClusterFleetCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterFleetCondition.
func (*RayClusterFleetCondition) DeepCopyInto ¶
func (in *RayClusterFleetCondition) DeepCopyInto(out *RayClusterFleetCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterFleetConditionType ¶
type RayClusterFleetConditionType string
const ( // Available means the deployment is available, ie. at least the minimum available // replicas required are up and running for at least minReadySeconds. RayClusterFleetAvailable RayClusterFleetConditionType = "Available" // Progressing means the deployment is progressing. Progress for a deployment is // considered when a new replica set is created or adopted, and when new pods scale // up or old pods scale down. Progress is not estimated for paused deployments or // when progressDeadlineSeconds is not specified. RayClusterFleetProgressing RayClusterFleetConditionType = "Progressing" // ReplicaFailure is added in a deployment when one of its pods fails to be created // or deleted. RayClusterFleetReplicaFailure RayClusterFleetConditionType = "ReplicaFailure" )
These are valid conditions of a deployment.
type RayClusterFleetList ¶
type RayClusterFleetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RayClusterFleet `json:"items"`
}
RayClusterFleetList contains a list of RayClusterFleet
func (*RayClusterFleetList) DeepCopy ¶
func (in *RayClusterFleetList) DeepCopy() *RayClusterFleetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterFleetList.
func (*RayClusterFleetList) DeepCopyInto ¶
func (in *RayClusterFleetList) DeepCopyInto(out *RayClusterFleetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayClusterFleetList) DeepCopyObject ¶
func (in *RayClusterFleetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayClusterFleetSpec ¶
type RayClusterFleetSpec struct {
// Number of desired pods. This is a pointer to distinguish between explicit
// zero and not specified. Defaults to 1.
// +kubebuilder:default=1
// +optional
Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
// Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this deployment.
// It must match the pod template's labels.
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// Template describes the pods that will be created.
// The only allowed template.spec.restartPolicy value is "Always".
Template RayClusterTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
// The deployment strategy to use to replace existing pods with new ones.
// +optional
// +patchStrategy=retainKeys
Strategy appsv1.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys" protobuf:"bytes,4,opt,name=strategy"`
// Minimum number of seconds for which a newly created pod should be ready
// without any of its container crashing, for it to be considered available.
// Defaults to 0 (pod will be considered available as soon as it is ready)
// +optional
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,5,opt,name=minReadySeconds"`
// The number of old ReplicaSets to retain to allow rollback.
// This is a pointer to distinguish between explicit zero and not specified.
// Defaults to 10.
// +kubebuilder:default=10
// +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,6,opt,name=revisionHistoryLimit"`
// Indicates that the deployment is paused.
// +optional
Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"`
// The maximum time in seconds for a deployment to make progress before it
// is considered to be failed. The deployment controller will continue to
// process failed deployments and a condition with a ProgressDeadlineExceeded
// reason will be surfaced in the deployment status. Note that progress will
// not be estimated during the time a deployment is paused. Defaults to 600s.
// +kubebuilder:default=600
// +optional
ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
}
RayClusterFleetSpec defines the desired state of RayClusterFleet
func (*RayClusterFleetSpec) DeepCopy ¶
func (in *RayClusterFleetSpec) DeepCopy() *RayClusterFleetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterFleetSpec.
func (*RayClusterFleetSpec) DeepCopyInto ¶
func (in *RayClusterFleetSpec) DeepCopyInto(out *RayClusterFleetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterFleetStatus ¶
type RayClusterFleetStatus struct {
// The generation observed by the deployment controller.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
// Total number of non-terminated pods targeted by this deployment (their labels match the selector).
// +optional
Replicas int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"`
// Total number of non-terminated pods targeted by this deployment that have the desired template spec.
// +optional
UpdatedReplicas int32 `json:"updatedReplicas,omitempty" protobuf:"varint,3,opt,name=updatedReplicas"`
// readyReplicas is the number of pods targeted by this Deployment with a Ready Condition.
// +optional
ReadyReplicas int32 `json:"readyReplicas,omitempty" protobuf:"varint,7,opt,name=readyReplicas"`
// Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.
// +optional
AvailableReplicas int32 `json:"availableReplicas,omitempty" protobuf:"varint,4,opt,name=availableReplicas"`
// pods that are still required for the deployment to have 100% available capacity. They may
// either be pods that are running but not yet available or pods that still have not been created.
// +optional
UnavailableReplicas int32 `json:"unavailableReplicas,omitempty" protobuf:"varint,5,opt,name=unavailableReplicas"`
// Represents the latest available observations of a deployment's current state.
// +patchMergeKey=type
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []RayClusterFleetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"`
// Count of hash collisions for the Deployment. The Deployment controller uses this
// field as a collision avoidance mechanism when it needs to create the name for the
// newest ReplicaSet.
// +optional
CollisionCount *int32 `json:"collisionCount,omitempty" protobuf:"varint,8,opt,name=collisionCount"`
// The label selector information of the pods belonging to the RayClusterFleet object.
ScalingTargetSelector string `json:"scalingTargetSelector,omitempty"`
}
RayClusterFleetStatus defines the observed state of RayClusterFleet
func (*RayClusterFleetStatus) DeepCopy ¶
func (in *RayClusterFleetStatus) DeepCopy() *RayClusterFleetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterFleetStatus.
func (*RayClusterFleetStatus) DeepCopyInto ¶
func (in *RayClusterFleetStatus) DeepCopyInto(out *RayClusterFleetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterReplicaSet ¶
type RayClusterReplicaSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RayClusterReplicaSetSpec `json:"spec,omitempty"`
Status RayClusterReplicaSetStatus `json:"status,omitempty"`
}
RayClusterReplicaSet is the Schema for the rayclusterreplicasets API
func (*RayClusterReplicaSet) DeepCopy ¶
func (in *RayClusterReplicaSet) DeepCopy() *RayClusterReplicaSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterReplicaSet.
func (*RayClusterReplicaSet) DeepCopyInto ¶
func (in *RayClusterReplicaSet) DeepCopyInto(out *RayClusterReplicaSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayClusterReplicaSet) DeepCopyObject ¶
func (in *RayClusterReplicaSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayClusterReplicaSetList ¶
type RayClusterReplicaSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RayClusterReplicaSet `json:"items"`
}
RayClusterReplicaSetList contains a list of RayClusterReplicaSet
func (*RayClusterReplicaSetList) DeepCopy ¶
func (in *RayClusterReplicaSetList) DeepCopy() *RayClusterReplicaSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterReplicaSetList.
func (*RayClusterReplicaSetList) DeepCopyInto ¶
func (in *RayClusterReplicaSetList) DeepCopyInto(out *RayClusterReplicaSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RayClusterReplicaSetList) DeepCopyObject ¶
func (in *RayClusterReplicaSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RayClusterReplicaSetSpec ¶
type RayClusterReplicaSetSpec struct {
// Replicas is the number of desired replicas.
// This is a pointer to distinguish between explicit zero and unspecified.
// Defaults to 1.
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
// +kubebuilder:default=1
// +optional
Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`
// Minimum number of seconds for which a newly created pod should be ready
// without any of its container crashing, for it to be considered available.
// Defaults to 0 (pod will be considered available as soon as it is ready)
// +optional
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,4,opt,name=minReadySeconds"`
// Selector is a label query over RayCluster that should match the replica count.
// Label keys and values that must match in order to be controlled by this replica set.
// It must match the pod template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
// +optional
Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`
// Template is the object that describes the pod that will be created if
// insufficient replicas are detected.
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
// +optional
Template RayClusterTemplateSpec `json:"template,omitempty"`
}
RayClusterReplicaSetSpec defines the desired state of RayClusterReplicaSet
func (*RayClusterReplicaSetSpec) DeepCopy ¶
func (in *RayClusterReplicaSetSpec) DeepCopy() *RayClusterReplicaSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterReplicaSetSpec.
func (*RayClusterReplicaSetSpec) DeepCopyInto ¶
func (in *RayClusterReplicaSetSpec) DeepCopyInto(out *RayClusterReplicaSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterReplicaSetStatus ¶
type RayClusterReplicaSetStatus struct {
// Replicas is the most recently observed number of replicas.
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller
Replicas int32 `json:"replicas" protobuf:"varint,1,opt,name=replicas"`
// The number of pods that have labels matching the labels of the pod template of the replicaset.
// +optional
FullyLabeledReplicas int32 `json:"fullyLabeledReplicas,omitempty" protobuf:"varint,2,opt,name=fullyLabeledReplicas"`
// readyReplicas is the number of pods targeted by this ReplicaSet with a Ready Condition.
// +optional
ReadyReplicas int32 `json:"readyReplicas,omitempty" protobuf:"varint,4,opt,name=readyReplicas"`
// The number of available replicas (ready for at least minReadySeconds) for this replica set.
// +optional
AvailableReplicas int32 `json:"availableReplicas,omitempty" protobuf:"varint,5,opt,name=availableReplicas"`
// ObservedGeneration reflects the generation of the most recently observed ReplicaSet.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,3,opt,name=observedGeneration"`
// Represents the latest available observations of a replica set's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"`
}
RayClusterReplicaSetStatus defines the observed state of RayClusterReplicaSet
func (*RayClusterReplicaSetStatus) DeepCopy ¶
func (in *RayClusterReplicaSetStatus) DeepCopy() *RayClusterReplicaSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterReplicaSetStatus.
func (*RayClusterReplicaSetStatus) DeepCopyInto ¶
func (in *RayClusterReplicaSetStatus) DeepCopyInto(out *RayClusterReplicaSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RayClusterTemplateSpec ¶
type RayClusterTemplateSpec struct {
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the RayCluster.
// +optional
Spec rayclusterv1.RayClusterSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
RayClusterTemplateSpec describes the data a pod should have when created from a template
func (*RayClusterTemplateSpec) DeepCopy ¶
func (in *RayClusterTemplateSpec) DeepCopy() *RayClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RayClusterTemplateSpec.
func (*RayClusterTemplateSpec) DeepCopyInto ¶
func (in *RayClusterTemplateSpec) DeepCopyInto(out *RayClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuntimeSpec ¶
type RuntimeSpec struct {
// Replicas is the number of kvcache pods to deploy
// +kubebuilder:validation:Optional
// +kubebuilder:default:=1
Replicas int32 `json:"replicas,omitempty"`
// represent the kvcache's image
// +kubebuilder:validation:Optional
Image string `json:"image,omitempty"`
// the policy about pulling image
// +kubebuilder:validation:Optional
// +kubebuilder:default:="IfNotPresent"
ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
// kvcache environment configuration
// +kubebuilder:validation:Optional
// +kubebuilder:default:={}
Env []corev1.EnvVar `json:"env,omitempty"`
// the resources of kvcache container
// +kubebuilder:validation:Optional
Resources corev1.ResourceRequirements `json:"resources,omitempty"`
// Optional: full control over the pod template and this is for advanced users.
// If set, it overrides other runtime fields like Image, Resources, etc.
Template *corev1.PodTemplateSpec `json:"template,omitempty"`
}
func (*RuntimeSpec) DeepCopy ¶
func (in *RuntimeSpec) DeepCopy() *RuntimeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuntimeSpec.
func (*RuntimeSpec) DeepCopyInto ¶
func (in *RuntimeSpec) DeepCopyInto(out *RuntimeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceSpec ¶
type ServiceSpec struct {
// Type defines the type of service (e.g., ClusterIP, NodePort, LoadBalancer).
// +kubebuilder:default:="ClusterIP"
Type corev1.ServiceType `json:"type,omitempty"`
// Ports defines the list of exposed ports
// +kubebuilder:validation:MinItems=1
Ports []corev1.ServicePort `json:"ports"`
}
ServiceSpec holds all service configuration about KvCache public facing service
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.