v1alpha1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the orchestration v1alpha1 API group +kubebuilder:object:generate=true +groupName=orchestration.aibrix.ai

Index

Constants

View Source
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

View Source
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

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

func (in *KVCache) DeepCopy() *KVCache

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

func (*KVCache) DeepCopyInto

func (in *KVCache) DeepCopyInto(out *KVCache)

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

func (*KVCache) DeepCopyObject

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

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

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"`

	// Total number of unavailable pods targeted by this deployment. This is the total number of
	// 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

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

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

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

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

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

func (*RayClusterReplicaSetStatus) DeepCopyInto

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

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.

Jump to

Keyboard shortcuts

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