Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=starrocks.com
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=starrocks.com
Index ¶
- Constants
- Variables
- func BeStatefulSetName(src *StarRocksCluster) string
- func CnStatefulSetName(src *StarRocksCluster) string
- func FeStatefulSetName(src *StarRocksCluster) string
- func GetBeExternalServiceName(src *StarRocksCluster) string
- func GetCnExternalServiceName(src *StarRocksCluster) string
- func GetFeExternalServiceName(src *StarRocksCluster) string
- type AnnotationOperationKey
- type AnnotationOperationValue
- type AutoScalerVersion
- type AutoScalingPolicy
- type ClusterPhase
- type ConfigMapInfo
- type ContainerResourceMetricSource
- type CrossVersionObjectReference
- type ExternalMetricSource
- type HPAPolicy
- type HPAScalingPolicy
- type HPAScalingPolicyType
- type HPAScalingRules
- type HorizontalPodAutoscalerBehavior
- type HorizontalScaler
- type MemberPhase
- type MetricIdentifier
- type MetricSourceType
- type MetricSpec
- type MetricTarget
- type MetricTargetType
- type ObjectMetricSource
- type PodsMetricSource
- type ResourceMetricSource
- type ScalingPolicySelect
- type StarRocksBeSpec
- type StarRocksBeStatus
- type StarRocksCluster
- type StarRocksClusterList
- type StarRocksClusterSpec
- type StarRocksClusterStatus
- type StarRocksCnSpec
- type StarRocksCnStatus
- type StarRocksFeSpec
- type StarRocksFeStatus
- type StarRocksProbe
- type StarRocksService
- type StarRocksServicePort
- type StorageVolume
Constants ¶
const ( // ComponentLabelKey is Kubernetes recommended label key, it represents the component within the architecture ComponentLabelKey string = "app.kubernetes.io/component" // NameLabelKey is Kubernetes recommended label key, it represents the name of the application NameLabelKey string = "app.kubernetes.io/name" // OwnerReference list object depended by this object OwnerReference string = "app.starrocks.ownerreference/name" // ComponentsResourceHash the component hash ComponentResourceHash string = "app.starrocks.components/hash" ComponentReplicasEmpty string = "app.starrocks.components/replica/empty" )
the labels key
const ( DEFAULT_FE = "fe" DEFAULT_BE = "be" DEFAULT_CN = "cn" )
the labels value. default statefulset name
const ( DEFAULT_FE_CONFIG_NAME = "fe-config" DEFAULT_EMPTDIR_NAME = "emptydir-data" INITIAL_VOLUME_PATH = "/pod-data" DEFAULT_START_SCRIPT_NAME = "fe-start-scripts" // TODO: when scripts need set. DEFAULT_START_SCRIPT_PATH = "" )
config value
const ( COMPONENT_NAME = "COMPONENT_NAME" FE_SERVICE_NAME = "FE_SERVICE_NAME" SEARCH_SERVICE_NAME = "SEARCH_SERVICE_NAME" )
the env of container
const ( // TCPProbeType represents the readiness prob method with TCP TCPProbeType string = "tcp" // CommandProbeType represents the readiness prob method with arbitrary unix `exec` call format commands CommandProbeType string = "command" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "starrocks.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func BeStatefulSetName ¶
func BeStatefulSetName(src *StarRocksCluster) string
func CnStatefulSetName ¶
func CnStatefulSetName(src *StarRocksCluster) string
func FeStatefulSetName ¶
func FeStatefulSetName(src *StarRocksCluster) string
func GetBeExternalServiceName ¶
func GetBeExternalServiceName(src *StarRocksCluster) string
GetBeExternalServiceName generate the name of service that access the be.
func GetCnExternalServiceName ¶
func GetCnExternalServiceName(src *StarRocksCluster) string
GetCnExternalServiceName generate the name of service that access the cn
func GetFeExternalServiceName ¶
func GetFeExternalServiceName(src *StarRocksCluster) string
GetFeExternalServiceName generate the name of service that access the fe.
Types ¶
type AnnotationOperationKey ¶
type AnnotationOperationKey string
Operation response key in annnotation, the annotation key be associated with annotation value represent the process status of sr operation.
const ( // the fe annotation key for restart AnnotationFERestartKey AnnotationOperationKey = "app.starrocks.fe.io/restart" // the be annotation key for restart be AnnotationBERestartKey AnnotationOperationKey = "app.starrocks.be.io/restart" // the cn annotation key for restart cn AnnotationCNRestartKey AnnotationOperationKey = "app.starrocks.cn.io/restart" )
type AnnotationOperationValue ¶
type AnnotationOperationValue string
AnnotationOperationValue present the operation for fe, cn, be.
const ( // represent the user want to restart all fe pods. AnnotationRestart AnnotationOperationValue = "restart" // represent all fe pods have restarted. AnnotationRestartFinished AnnotationOperationValue = "finished" // represent at least one pod on restarting AnnotationRestarting AnnotationOperationValue = "restarting" )
type AutoScalerVersion ¶
type AutoScalerVersion string
const ( // the cn service use v1 autoscaler. reference to https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ AutoScalerV1 AutoScalerVersion = "v1" // the cn service use v2beta. reference to https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ AutoScalerV2Beta2 AutoScalerVersion = "v2beta2" // the cn service use v2. reference to https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ AutoSclaerV2 AutoScalerVersion = "v2" )
type AutoScalingPolicy ¶
type AutoScalingPolicy struct { // the policy of cn autoscale. operator use autoscaling v2. HPAPolicy *HPAPolicy `json:"hpaPolicy,omitempty"` // version represents the autoscaler version for cn service. only support v1,v2beta2,v2 // +kubebuilder:default:="v2beta2" Version AutoScalerVersion `json:"version,omitempty"` // +optional MinReplicas *int32 `json:"minReplicas,omitempty"` // the max numbers of target. // +optional MaxReplicas int32 `json:"maxReplicas"` }
AutoScalingPolicy defines the auto scale
func (*AutoScalingPolicy) DeepCopy ¶
func (in *AutoScalingPolicy) DeepCopy() *AutoScalingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoScalingPolicy.
func (*AutoScalingPolicy) DeepCopyInto ¶
func (in *AutoScalingPolicy) DeepCopyInto(out *AutoScalingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPhase ¶
type ClusterPhase string
represent the cluster phase. the possible value for cluster phase are: running, failed, pending.
const ( // ClusterRunning represents starrocks cluster is running. ClusterRunning ClusterPhase = "running" // ClusterFailed represents starrocks cluster failed. ClusterFailed ClusterPhase = "failed" // ClusterPending represents the starrocks cluster is creating ClusterPending ClusterPhase = "pending" // ClusterDeleting waiting all resource deleted ClusterDeleting = "deleting" )
type ConfigMapInfo ¶
type ConfigMapInfo struct { // the config info for start progress. ConfigMapName string `json:"configMapName,omitempty"` // the config response key in configmap. ResolveKey string `json:"resolveKey,omitempty"` }
func (*ConfigMapInfo) DeepCopy ¶
func (in *ConfigMapInfo) DeepCopy() *ConfigMapInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapInfo.
func (*ConfigMapInfo) DeepCopyInto ¶
func (in *ConfigMapInfo) DeepCopyInto(out *ConfigMapInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerResourceMetricSource ¶
type ContainerResourceMetricSource struct { // name is the name of the resource in question. Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"` // target specifies the target value for the given metric Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"` // container is the name of the container in the pods of the scaling target Container string `json:"container" protobuf:"bytes,3,opt,name=container"` }
ContainerResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. Only one "target" type should be set.
func (*ContainerResourceMetricSource) DeepCopy ¶
func (in *ContainerResourceMetricSource) DeepCopy() *ContainerResourceMetricSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourceMetricSource.
func (*ContainerResourceMetricSource) DeepCopyInto ¶
func (in *ContainerResourceMetricSource) DeepCopyInto(out *ContainerResourceMetricSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CrossVersionObjectReference ¶
type CrossVersionObjectReference struct { // Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"` // Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names Name string `json:"name" protobuf:"bytes,2,opt,name=name"` // API version of the referent // +optional APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,3,opt,name=apiVersion"` }
CrossVersionObjectReference contains enough information to let you identify the referred resource.
func (*CrossVersionObjectReference) DeepCopy ¶
func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossVersionObjectReference.
func (*CrossVersionObjectReference) DeepCopyInto ¶
func (in *CrossVersionObjectReference) DeepCopyInto(out *CrossVersionObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalMetricSource ¶
type ExternalMetricSource struct { // metric identifies the target metric by name and selector Metric MetricIdentifier `json:"metric" protobuf:"bytes,1,name=metric"` // target specifies the target value for the given metric Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"` }
ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).
func (*ExternalMetricSource) DeepCopy ¶
func (in *ExternalMetricSource) DeepCopy() *ExternalMetricSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricSource.
func (*ExternalMetricSource) DeepCopyInto ¶
func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HPAPolicy ¶
type HPAPolicy struct { // +optional // Metrics specifies how to scale based on a single metric // the struct copy from k8s.io/api/autoscaling/v2beta2/types.go. the redundancy code will hide the restriction about // HorizontalPodAutoscaler version and kubernetes releases matching issue. // the splice will have unsafe.Pointer convert, so be careful to edit the struct fileds. Metrics []MetricSpec `json:"metrics,omitempty"` // +optional // HorizontalPodAutoscalerBehavior configures the scaling behavior of the target. // the struct copy from k8s.io/api/autoscaling/v2beta2/types.go. the redundancy code will hide the restriction about // HorizontalPodAutoscaler version and kubernetes releases matching issue. // the Behavior *HorizontalPodAutoscalerBehavior `json:"behavior,omitempty"` }
func (*HPAPolicy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPAPolicy.
func (*HPAPolicy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HPAScalingPolicy ¶
type HPAScalingPolicy struct { // Type is used to specify the scaling policy. Type HPAScalingPolicyType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=HPAScalingPolicyType"` // Value contains the amount of change which is permitted by the policy. // It must be greater than zero Value int32 `json:"value" protobuf:"varint,2,opt,name=value"` // PeriodSeconds specifies the window of time for which the policy should hold true. // PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min). PeriodSeconds int32 `json:"periodSeconds" protobuf:"varint,3,opt,name=periodSeconds"` }
HPAScalingPolicy is a single policy which must hold true for a specified past interval.
func (*HPAScalingPolicy) DeepCopy ¶
func (in *HPAScalingPolicy) DeepCopy() *HPAScalingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPAScalingPolicy.
func (*HPAScalingPolicy) DeepCopyInto ¶
func (in *HPAScalingPolicy) DeepCopyInto(out *HPAScalingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HPAScalingPolicyType ¶
type HPAScalingPolicyType string
HPAScalingPolicyType is the type of the policy which could be used while making scaling decisions.
const ( // PodsScalingPolicy is a policy used to specify a change in absolute number of pods. PodsScalingPolicy HPAScalingPolicyType = "Pods" // PercentScalingPolicy is a policy used to specify a relative amount of change with respect to // the current number of pods. PercentScalingPolicy HPAScalingPolicyType = "Percent" )
type HPAScalingRules ¶
type HPAScalingRules struct { // StabilizationWindowSeconds is the number of seconds for which past recommendations should be // considered while scaling up or scaling down. // StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). // If not set, use the default values: // - For scale up: 0 (i.e. no stabilization is done). // - For scale down: 300 (i.e. the stabilization window is 300 seconds long). // +optional StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds,omitempty" protobuf:"varint,3,opt,name=stabilizationWindowSeconds"` // selectPolicy is used to specify which policy should be used. // If not set, the default value MaxPolicySelect is used. // +optional SelectPolicy *ScalingPolicySelect `json:"selectPolicy,omitempty" protobuf:"bytes,1,opt,name=selectPolicy"` // policies is a list of potential scaling polices which can be used during scaling. // At least one policy must be specified, otherwise the HPAScalingRules will be discarded as invalid // +optional Policies []HPAScalingPolicy `json:"policies,omitempty" protobuf:"bytes,2,rep,name=policies"` }
HPAScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.
func (*HPAScalingRules) DeepCopy ¶
func (in *HPAScalingRules) DeepCopy() *HPAScalingRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPAScalingRules.
func (*HPAScalingRules) DeepCopyInto ¶
func (in *HPAScalingRules) DeepCopyInto(out *HPAScalingRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HorizontalPodAutoscalerBehavior ¶
type HorizontalPodAutoscalerBehavior struct { // scaleUp is scaling policy for scaling Up. // If not set, the default value is the higher of: // * increase no more than 4 pods per 60 seconds // * double the number of pods per 60 seconds // No stabilization is used. // +optional ScaleUp *HPAScalingRules `json:"scaleUp,omitempty" protobuf:"bytes,1,opt,name=scaleUp"` // scaleDown is scaling policy for scaling Down. // If not set, the default value is to allow to scale down to minReplicas pods, with a // 300 second stabilization window (i.e., the highest recommendation for // the last 300sec is used). // +optional ScaleDown *HPAScalingRules `json:"scaleDown,omitempty" protobuf:"bytes,2,opt,name=scaleDown"` }
HorizontalPodAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).
func (*HorizontalPodAutoscalerBehavior) DeepCopy ¶
func (in *HorizontalPodAutoscalerBehavior) DeepCopy() *HorizontalPodAutoscalerBehavior
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerBehavior.
func (*HorizontalPodAutoscalerBehavior) DeepCopyInto ¶
func (in *HorizontalPodAutoscalerBehavior) DeepCopyInto(out *HorizontalPodAutoscalerBehavior)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HorizontalScaler ¶
type HorizontalScaler struct { // the deploy horizontal scaler name Name string `json:"name,omitempty"` // the deploy horizontal version. Version AutoScalerVersion `json:"version,omitempty"` }
func (*HorizontalScaler) DeepCopy ¶
func (in *HorizontalScaler) DeepCopy() *HorizontalScaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalScaler.
func (*HorizontalScaler) DeepCopyInto ¶
func (in *HorizontalScaler) DeepCopyInto(out *HorizontalScaler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemberPhase ¶
type MemberPhase string
represent the component phase about be, cn, be. the possible value for component phase are: reconciliing, failed, running, waitting.
const ( // ComponentReconciling the starrocks have component in starting. ComponentReconciling MemberPhase = "reconciling" // ComponentFailed have at least one service failed. ComponentFailed MemberPhase = "failed" // ComponentRunning all components runs available. ComponentRunning MemberPhase = "running" )
type MetricIdentifier ¶
type MetricIdentifier struct { // name is the name of the given metric Name string `json:"name" protobuf:"bytes,1,name=name"` // selector is the string-encoded form of a standard kubernetes label selector for the given metric // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. // When unset, just the metricName will be used to gather metrics. // +optional Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,name=selector"` }
MetricIdentifier defines the name and optionally selector for a metric
func (*MetricIdentifier) DeepCopy ¶
func (in *MetricIdentifier) DeepCopy() *MetricIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdentifier.
func (*MetricIdentifier) DeepCopyInto ¶
func (in *MetricIdentifier) DeepCopyInto(out *MetricIdentifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricSourceType ¶
type MetricSourceType string
MetricSourceType indicates the type of metric.
const ( // ObjectMetricSourceType is a metric describing a kubernetes object // (for example, hits-per-second on an Ingress object). ObjectMetricSourceType MetricSourceType = "Object" // PodsMetricSourceType is a metric describing each pod in the current scale // target (for example, transactions-processed-per-second). The values // will be averaged together before being compared to the target value. PodsMetricSourceType MetricSourceType = "Pods" // ResourceMetricSourceType is a resource metric known to Kubernetes, as // specified in requests and limits, describing each pod in the current // scale target (e.g. CPU or memory). Such metrics are built in to // Kubernetes, and have special scaling options on top of those available // to normal per-pod metrics (the "pods" source). ResourceMetricSourceType MetricSourceType = "Resource" // ContainerResourceMetricSourceType is a resource metric known to Kubernetes, as // specified in requests and limits, describing a single container in each pod in the current // scale target (e.g. CPU or memory). Such metrics are built in to // Kubernetes, and have special scaling options on top of those available // to normal per-pod metrics (the "pods" source). ContainerResourceMetricSourceType MetricSourceType = "ContainerResource" // ExternalMetricSourceType is a global metric that is not associated // with any Kubernetes object. It allows autoscaling based on information // coming from components running outside of cluster // (for example length of queue in cloud messaging service, or // QPS from loadbalancer running outside of cluster). ExternalMetricSourceType MetricSourceType = "External" )
type MetricSpec ¶
type MetricSpec struct { // type is the type of metric source. It should be one of "ContainerResource", "External", // "Object", "Pods" or "Resource", each mapping to a matching field in the object. // Note: "ContainerResource" type is available on when the feature-gate // HPAContainerMetrics is enabled Type MetricSourceType `json:"type" protobuf:"bytes,1,name=type"` // object refers to a metric describing a single kubernetes object // (for example, hits-per-second on an Ingress object). // +optional Object *ObjectMetricSource `json:"object,omitempty" protobuf:"bytes,2,opt,name=object"` // pods refers to a metric describing each pod in the current scale target // (for example, transactions-processed-per-second). The values will be // averaged together before being compared to the target value. // +optional Pods *PodsMetricSource `json:"pods,omitempty" protobuf:"bytes,3,opt,name=pods"` // resource refers to a resource metric (such as those specified in // requests and limits) known to Kubernetes describing each pod in the // current scale target (e.g. CPU or memory). Such metrics are built in to // Kubernetes, and have special scaling options on top of those available // to normal per-pod metrics using the "pods" source. // +optional Resource *ResourceMetricSource `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"` // container resource refers to a resource metric (such as those specified in // requests and limits) known to Kubernetes describing a single container in // each pod of the current scale target (e.g. CPU or memory). Such metrics are // built in to Kubernetes, and have special scaling options on top of those // available to normal per-pod metrics using the "pods" source. // This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag. // +optional ContainerResource *ContainerResourceMetricSource `json:"containerResource,omitempty" protobuf:"bytes,7,opt,name=containerResource"` // external refers to a global metric that is not associated // with any Kubernetes object. It allows autoscaling based on information // coming from components running outside of cluster // (for example length of queue in cloud messaging service, or // QPS from loadbalancer running outside of cluster). // +optional External *ExternalMetricSource `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"` }
MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once).
func (*MetricSpec) DeepCopy ¶
func (in *MetricSpec) DeepCopy() *MetricSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSpec.
func (*MetricSpec) DeepCopyInto ¶
func (in *MetricSpec) DeepCopyInto(out *MetricSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricTarget ¶
type MetricTarget struct { // type represents whether the metric type is Utilization, Value, or AverageValue Type MetricTargetType `json:"type" protobuf:"bytes,1,name=type"` // value is the target value of the metric (as a quantity). // +optional Value *resource.Quantity `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"` // averageValue is the target value of the average of the // metric across all relevant pods (as a quantity) // +optional AverageValue *resource.Quantity `json:"averageValue,omitempty" protobuf:"bytes,3,opt,name=averageValue"` // averageUtilization is the target value of the average of the // resource metric across all relevant pods, represented as a percentage of // the requested value of the resource for the pods. // Currently only valid for Resource metric source type // +optional AverageUtilization *int32 `json:"averageUtilization,omitempty" protobuf:"bytes,4,opt,name=averageUtilization"` }
MetricTarget defines the target value, average value, or average utilization of a specific metric
func (*MetricTarget) DeepCopy ¶
func (in *MetricTarget) DeepCopy() *MetricTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricTarget.
func (*MetricTarget) DeepCopyInto ¶
func (in *MetricTarget) DeepCopyInto(out *MetricTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricTargetType ¶
type MetricTargetType string
MetricTargetType specifies the type of metric being targeted, and should be either "Value", "AverageValue", or "Utilization"
const ( // UtilizationMetricType declares a MetricTarget is an AverageUtilization value UtilizationMetricType MetricTargetType = "Utilization" // ValueMetricType declares a MetricTarget is a raw value ValueMetricType MetricTargetType = "Value" // AverageValueMetricType declares a MetricTarget is an AverageValueMetricType MetricTargetType = "AverageValue" )
type ObjectMetricSource ¶
type ObjectMetricSource struct { DescribedObject CrossVersionObjectReference `json:"describedObject" protobuf:"bytes,1,name=describedObject"` // target specifies the target value for the given metric Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"` // metric identifies the target metric by name and selector Metric MetricIdentifier `json:"metric" protobuf:"bytes,3,name=metric"` }
ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).
func (*ObjectMetricSource) DeepCopy ¶
func (in *ObjectMetricSource) DeepCopy() *ObjectMetricSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMetricSource.
func (*ObjectMetricSource) DeepCopyInto ¶
func (in *ObjectMetricSource) DeepCopyInto(out *ObjectMetricSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodsMetricSource ¶
type PodsMetricSource struct { // metric identifies the target metric by name and selector Metric MetricIdentifier `json:"metric" protobuf:"bytes,1,name=metric"` // target specifies the target value for the given metric Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"` }
PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.
func (*PodsMetricSource) DeepCopy ¶
func (in *PodsMetricSource) DeepCopy() *PodsMetricSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodsMetricSource.
func (*PodsMetricSource) DeepCopyInto ¶
func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceMetricSource ¶
type ResourceMetricSource struct { // name is the name of the resource in question. Name v1.ResourceName `json:"name" protobuf:"bytes,1,name=name"` // target specifies the target value for the given metric Target MetricTarget `json:"target" protobuf:"bytes,2,name=target"` }
ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the "pods" source. Only one "target" type should be set.
func (*ResourceMetricSource) DeepCopy ¶
func (in *ResourceMetricSource) DeepCopy() *ResourceMetricSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMetricSource.
func (*ResourceMetricSource) DeepCopyInto ¶
func (in *ResourceMetricSource) DeepCopyInto(out *ResourceMetricSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalingPolicySelect ¶
type ScalingPolicySelect string
ScalingPolicySelect is used to specify which policy should be used while scaling in a certain direction
const ( // MaxPolicySelect selects the policy with the highest possible change. MaxPolicySelect ScalingPolicySelect = "Max" // MinPolicySelect selects the policy with the lowest possible change. MinPolicySelect ScalingPolicySelect = "Min" // DisabledPolicySelect disables the scaling in this direction. DisabledPolicySelect ScalingPolicySelect = "Disabled" )
type StarRocksBeSpec ¶
type StarRocksBeSpec struct { // Replicas is the number of desired be Pod. the default value=3 // Optional Replicas *int32 `json:"replicas,omitempty"` // Image for a starrocks be deployment. Image string `json:"image"` // annotation for be pods. user can config monitor annotation for collect to monitor system. // +optional Annotations map[string]string `json:"annotations,omitempty"` // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. // If specified, these secrets will be passed to individual puller implementations for them to use. // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod // +optional // +patchMergeKey=name // +patchStrategy=merge ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` // serviceAccount for be access cloud service. ServiceAccount string `json:"serviceAccount,omitempty"` // name of the starrocks be cluster. // +optional // +kubebuilder:validation:Pattern=[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* // Deprecated Name string `json:"name,omitempty"` // Service defines the template for the associated Kubernetes Service object. // the service for user access be. // +optional Service *StarRocksService `json:"service,omitempty"` // defines the specification of resource cpu and mem. // +optional corev1.ResourceRequirements `json:",inline"` // the reference for be configMap. // +optional ConfigMapInfo ConfigMapInfo `json:"configMapInfo,omitempty"` // Probe defines the mode probe service in container is alive. // +optional Probe *StarRocksProbe `json:"probe,omitempty"` // StorageVolumes defines the additional storage for be storage data and log. // +optional StorageVolumes []StorageVolume `json:"storageVolumes,omitempty"` // ReplicaInstance is the names of replica starrocksbe cluster. // +optional // Deprecated, temp deprecated. ReplicaInstances []string `json:"replicaInstances,omitempty"` // (Optional) If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes" // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // +optional // beEnvVars is a slice of environment variables that are added to the pods, the default is empty. BeEnvVars []corev1.EnvVar `json:"beEnvVars,omitempty"` // +optional // If specified, the pod's scheduling constraints. Affinity *corev1.Affinity `json:"affinity,omitempty"` // (Optional) Tolerations for scheduling pods onto some dedicated nodes // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // podLabels for user selector or classify pods. PodLabels map[string]string `json:"podLabels,omitempty"` // HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts // file if specified. This is only valid for non-hostNetwork pods. // +optional HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"` }
StarRocksBeSpec defines the desired state of be.
func (*StarRocksBeSpec) DeepCopy ¶
func (in *StarRocksBeSpec) DeepCopy() *StarRocksBeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksBeSpec.
func (*StarRocksBeSpec) DeepCopyInto ¶
func (in *StarRocksBeSpec) DeepCopyInto(out *StarRocksBeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksBeStatus ¶
type StarRocksBeStatus struct { // the name of be service for fe find be instance. ServiceName string `json:"serviceName,omitempty"` // FailedInstances deploy failed instance of be. FailedInstances []string `json:"failedInstances,omitempty"` // CreatingInstances represents status in creating pods of be. CreatingInstances []string `json:"creatingInstances,omitempty"` // RunningInstances represents status in running pods of be. RunningInstances []string `json:"runningInstances,omitempty"` // The statefulset names of be. ResourceNames []string `json:"resourceNames,omitempty"` // Phase the value from all pods of be status. If be have one failed pod phase=failed, // also if be have one creating pod phase=creating, also if be all running phase=running, others unknown. Phase MemberPhase `json:"phase"` // the reason for the phase. // +optional Reason string `json:"reason"` }
StarRocksBeStatus represents the status of starrocks be.
func (*StarRocksBeStatus) DeepCopy ¶
func (in *StarRocksBeStatus) DeepCopy() *StarRocksBeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksBeStatus.
func (*StarRocksBeStatus) DeepCopyInto ¶
func (in *StarRocksBeStatus) DeepCopyInto(out *StarRocksBeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksCluster ¶
type StarRocksCluster struct { metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired state of the starrocks cluster. Spec StarRocksClusterSpec `json:"spec,omitempty"` // Most recent observed status of the starrocks cluster Status StarRocksClusterStatus `json:"status,omitempty"` }
StarRocksCluster defines a starrocks cluster deployment. +kubebuilder:object:root=true +kubebuilder:resource:shortName=src +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:printcolumn:name="FeStatus",type=string,JSONPath=`.status.starRocksFeStatus.phase` +kubebuilder:printcolumn:name="CnStatus",type=string,JSONPath=`.status.starRocksCnStatus.phase` +kubebuilder:printcolumn:name="BeStatus",type=string,JSONPath=`.status.starRocksBeStatus.phase` +k8s:openapi-gen=true +genclient
func (*StarRocksCluster) DeepCopy ¶
func (in *StarRocksCluster) DeepCopy() *StarRocksCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksCluster.
func (*StarRocksCluster) DeepCopyInto ¶
func (in *StarRocksCluster) DeepCopyInto(out *StarRocksCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StarRocksCluster) DeepCopyObject ¶
func (in *StarRocksCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StarRocksClusterList ¶
type StarRocksClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []StarRocksCluster `json:"items"` }
StarRocksClusterList contains a list of StarRocksCluster +kubebuilder:object:root=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*StarRocksClusterList) DeepCopy ¶
func (in *StarRocksClusterList) DeepCopy() *StarRocksClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksClusterList.
func (*StarRocksClusterList) DeepCopyInto ¶
func (in *StarRocksClusterList) DeepCopyInto(out *StarRocksClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StarRocksClusterList) DeepCopyObject ¶
func (in *StarRocksClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StarRocksClusterSpec ¶
type StarRocksClusterSpec struct { // Specify a Service Account for starRocksCluster use k8s cluster. // +optional // Deprecated: component use serviceAccount in own's field. ServiceAccount string `json:"serviceAccount,omitempty"` // StarRocksFeSpec define fe configuration for start fe service. StarRocksFeSpec *StarRocksFeSpec `json:"starRocksFeSpec,omitempty"` // StarRocksBeSpec define be configuration for start be service. StarRocksBeSpec *StarRocksBeSpec `json:"starRocksBeSpec,omitempty"` // StarRocksCnSpec define cn configuration for start cn service. StarRocksCnSpec *StarRocksCnSpec `json:"starRocksCnSpec,omitempty"` }
StarRocksClusterSpec defines the desired state of StarRocksCluster
func (*StarRocksClusterSpec) DeepCopy ¶
func (in *StarRocksClusterSpec) DeepCopy() *StarRocksClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksClusterSpec.
func (*StarRocksClusterSpec) DeepCopyInto ¶
func (in *StarRocksClusterSpec) DeepCopyInto(out *StarRocksClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksClusterStatus ¶
type StarRocksClusterStatus struct { // Represents the state of cluster. the possible value are: running, failed, pending Phase ClusterPhase `json:"phase"` // Represents the status of fe. the status have running, failed and creating pods. StarRocksFeStatus *StarRocksFeStatus `json:"starRocksFeStatus,omitempty"` // Represents the status of be. the status have running, failed and creating pods. StarRocksBeStatus *StarRocksBeStatus `json:"starRocksBeStatus,omitempty"` // Represents the status of cn. the status have running, failed and creating pods. StarRocksCnStatus *StarRocksCnStatus `json:"starRocksCnStatus,omitempty"` }
StarRocksClusterStatus defines the observed state of StarRocksCluster.
func (*StarRocksClusterStatus) DeepCopy ¶
func (in *StarRocksClusterStatus) DeepCopy() *StarRocksClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksClusterStatus.
func (*StarRocksClusterStatus) DeepCopyInto ¶
func (in *StarRocksClusterStatus) DeepCopyInto(out *StarRocksClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksCnSpec ¶
type StarRocksCnSpec struct { // name of the starrocks cn cluster. // +kubebuilder:validation:Pattern=[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* // +optional // Deprecated: , the statefulset name don't allow set, prevent accidental modification. Name string `json:"name,omitempty"` // annotation for cn pods. user can config monitor annotation for collect to monitor system. // +optional Annotations map[string]string `json:"annotations,omitempty"` // serviceAccount for cn access cloud service. ServiceAccount string `json:"serviceAccount,omitempty"` // Replicas is the number of desired cn Pod. // +kubebuilder:validation:Minimum=0 // +optional Replicas *int32 `json:"replicas,omitempty"` // Image for a starrocks cn deployment. Image string `json:"image"` // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. // If specified, these secrets will be passed to individual puller implementations for them to use. // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod // +optional // +patchMergeKey=name // +patchStrategy=merge ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` // Service defines the template for the associated Kubernetes Service object. // the service for user access cn. Service *StarRocksService `json:"service,omitempty"` // the reference for cn configMap. // +optional ConfigMapInfo ConfigMapInfo `json:"configMapInfo,omitempty"` // defines the specification of resource cpu and mem. corev1.ResourceRequirements `json:",inline"` // Probe defines the mode probe service in container is alive. Probe *StarRocksProbe `json:"probe,omitempty"` // AutoScalingPolicy auto scaling strategy AutoScalingPolicy *AutoScalingPolicy `json:"autoScalingPolicy,omitempty"` // (Optional) If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes" // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // +optional // cnEnvVars is a slice of environment variables that are added to the pods, the default is empty. CnEnvVars []corev1.EnvVar `json:"cnEnvVars,omitempty"` // +optional // If specified, the pod's scheduling constraints. Affinity *corev1.Affinity `json:"affinity,omitempty"` // (Optional) Tolerations for scheduling pods onto some dedicated nodes // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // podLabels for user selector or classify pods. PodLabels map[string]string `json:"podLabels,omitempty"` // HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts // file if specified. This is only valid for non-hostNetwork pods. // +optional HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"` }
StarRocksCnSpec defines the desired state of cn.
func (*StarRocksCnSpec) DeepCopy ¶
func (in *StarRocksCnSpec) DeepCopy() *StarRocksCnSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksCnSpec.
func (*StarRocksCnSpec) DeepCopyInto ¶
func (in *StarRocksCnSpec) DeepCopyInto(out *StarRocksCnSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksCnStatus ¶
type StarRocksCnStatus struct { // the name of cn service for fe find cn instance. ServiceName string `json:"serviceName,omitempty"` // FailedInstances deploy failed cn pod names. FailedInstances []string `json:"failedInstances,omitempty"` // CreatingInstances in creating status cn pod names. CreatingInstances []string `json:"creatingInstances,omitempty"` // RunningInstances in running status be pod names. RunningInstances []string `json:"runningInstances,omitempty"` // The statefulset names of be. ResourceNames []string `json:"resourceNames,omitempty"` // The policy name of autoScale. // Deprecated HpaName string `json:"hpaName,omitempty"` // HorizontalAutoscaler have the autoscaler information. HorizontalScaler HorizontalScaler `json:"horizontalScaler,omitempty"` // Phase the value from all pods of cn status. If cn have one failed pod phase=failed, // also if cn have one creating pod phase=creating, also if cn all running phase=running, others unknown. Phase MemberPhase `json:"phase"` // the reason for the phase. // +optional Reason string `json:"reason"` }
func (*StarRocksCnStatus) DeepCopy ¶
func (in *StarRocksCnStatus) DeepCopy() *StarRocksCnStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksCnStatus.
func (*StarRocksCnStatus) DeepCopyInto ¶
func (in *StarRocksCnStatus) DeepCopyInto(out *StarRocksCnStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksFeSpec ¶
type StarRocksFeSpec struct { // name of the starrocks be cluster. // +optional // +kubebuilder:validation:Pattern=[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* // Deprecated, not allow set statefulset name. Name string `json:"name,omitempty"` // annotation for fe pods. user can config monitor annotation for collect to monitor system. // +optional Annotations map[string]string `json:"annotations,omitempty"` // serviceAccount for fe access cloud service. ServiceAccount string `json:"serviceAccount,omitempty"` // Replicas is the number of desired fe Pod, the number is 1,3,5 // +optional Replicas *int32 `json:"replicas,omitempty"` // Image for a starrocks fe deployment.. Image string `json:"image"` // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. // If specified, these secrets will be passed to individual puller implementations for them to use. // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod // +optional // +patchMergeKey=name // +patchStrategy=merge ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` // Service defines the template for the associated Kubernetes Service object. // +optional Service *StarRocksService `json:"service,omitempty"` // defines the specification of resource cpu and mem. // +optional corev1.ResourceRequirements `json:",inline"` // the reference for fe configMap. // +optional ConfigMapInfo ConfigMapInfo `json:"configMapInfo,omitempty"` // Probe defines the mode probe service in container is alive. // +optional Probe *StarRocksProbe `json:"probe,omitempty"` // StorageVolumes defines the additional storage for fe meta storage. // +optional StorageVolumes []StorageVolume `json:"storageVolumes,omitempty"` // (Optional) If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes" // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // +optional // feEnvVars is a slice of environment variables that are added to the pods, the default is empty. FeEnvVars []corev1.EnvVar `json:"feEnvVars,omitempty"` // +optional // If specified, the pod's scheduling constraints. Affinity *corev1.Affinity `json:"affinity,omitempty"` // (Optional) Tolerations for scheduling pods onto some dedicated nodes // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // +optional // the pod labels for user select or classify pods. PodLabels map[string]string `json:"podLabels,omitempty"` // HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts // file if specified. This is only valid for non-hostNetwork pods. // +optional HostAliases []corev1.HostAlias `json:"hostAliases,omitempty"` }
StarRocksFeSpec defines the desired state of fe.
func (*StarRocksFeSpec) DeepCopy ¶
func (in *StarRocksFeSpec) DeepCopy() *StarRocksFeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksFeSpec.
func (*StarRocksFeSpec) DeepCopyInto ¶
func (in *StarRocksFeSpec) DeepCopyInto(out *StarRocksFeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksFeStatus ¶
type StarRocksFeStatus struct { // the name of fe service exposed for user. ServiceName string `json:"serviceName,omitempty"` // FailedInstances failed fe pod names. FailedInstances []string `json:"failedInstances,omitempty"` // CreatingInstances in creating pod names. CreatingInstances []string `json:"creatingInstances,omitempty"` // RunningInstances in running status pod names. RunningInstances []string `json:"runningInstances,omitempty"` // ResourceNames the statefulset names of fe in v1alpha1 version. ResourceNames []string `json:"resourceNames,omitempty"` // Phase the value from all pods of fe status. If fe have one failed pod phase=failed, // also if fe have one creating pod phase=creating, also if fe all running phase=running, others unknown. Phase MemberPhase `json:"phase"` // +optional // Reason represents the reason of not running. Reason string `json:"reason"` }
StarRocksFeStatus represents the status of starrocks fe.
func (*StarRocksFeStatus) DeepCopy ¶
func (in *StarRocksFeStatus) DeepCopy() *StarRocksFeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksFeStatus.
func (*StarRocksFeStatus) DeepCopyInto ¶
func (in *StarRocksFeStatus) DeepCopyInto(out *StarRocksFeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksProbe ¶
type StarRocksProbe struct { // Type identifies the mode of probe main container // +kubebuilder:validation:Enum=tcp;command Type string `json:"type"` // Number of seconds after the container has started before liveness probes are initiated. // Default to 10 seconds. // +kubebuilder:validation:Minimum=0 // +optional InitialDelaySeconds *int32 `json:"initialDelaySeconds,omitempty"` // How often (in seconds) to perform the probe. // Default to Kubernetes default (10 seconds). Minimum value is 1. // +kubebuilder:validation:Minimum=1 // +optional PeriodSeconds *int32 `json:"periodSeconds,omitempty"` }
StarRocksProbe defines the mode for probe be alive.
func (*StarRocksProbe) DeepCopy ¶
func (in *StarRocksProbe) DeepCopy() *StarRocksProbe
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksProbe.
func (*StarRocksProbe) DeepCopyInto ¶
func (in *StarRocksProbe) DeepCopyInto(out *StarRocksProbe)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksService ¶
type StarRocksService struct { // Name assigned to service. // +kubebuilder:validation:Pattern=[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* // +optional Name string `json:"name,omitempty"` // type of service,the possible value for the service type are : ClusterIP, NodePort, LoadBalancer,ExternalName. // More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types // +optional Type corev1.ServiceType `json:"type,omitempty"` // Only applies to Service Type: LoadBalancer. // This feature depends on whether the underlying cloud-provider supports specifying // the loadBalancerIP when a load balancer is created. // This field will be ignored if the cloud-provider does not support the feature. // This field was under-specified and its meaning varies across implementations, // and it cannot support dual-stack. // As of Kubernetes v1.24, users are encouraged to use implementation-specific annotations when available. // This field may be removed in a future API version. // +optional LoadBalancerIP string `json:"loadBalancerIP,omitempty"` // Ports the components exposed ports and listen ports in pod. // +optional Ports []StarRocksServicePort `json:"ports"` }
func (*StarRocksService) DeepCopy ¶
func (in *StarRocksService) DeepCopy() *StarRocksService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksService.
func (*StarRocksService) DeepCopyInto ¶
func (in *StarRocksService) DeepCopyInto(out *StarRocksService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StarRocksServicePort ¶
type StarRocksServicePort struct { // Name of the map about coming port and target port Name string `json:"name,omitempty"` // Port the pod is exposed on service. Port int32 `json:"port"` // ContainerPort the service listen in pod. ContainerPort int32 `json:"containerPort"` // The easiest way to expose fe, cn or be is to use a Service of type `NodePort`. NodePort int32 `json:"nodePort,omitempty"` }
func (*StarRocksServicePort) DeepCopy ¶
func (in *StarRocksServicePort) DeepCopy() *StarRocksServicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StarRocksServicePort.
func (*StarRocksServicePort) DeepCopyInto ¶
func (in *StarRocksServicePort) DeepCopyInto(out *StarRocksServicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageVolume ¶
type StorageVolume struct { // name of a storage volume. // +kubebuilder:validation:Pattern=[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* Name string `json:"name"` // storageClassName is the name of the StorageClass required by the claim. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 // +optional StorageClassName *string `json:"storageClassName,omitempty"` // StorageSize is a valid memory size type based on powers-of-2, so 1Mi is 1024Ki. // Supported units:Mi, Gi, GiB, Ti, Ti, Pi, Ei, Ex: `512Mi`. // +kubebuilder:validation:Pattern:="(^0|([0-9]*l[.])?[0-9]+((M|G|T|E|P)i))$" StorageSize string `json:"storageSize"` // MountPath specify the path of volume mount. MountPath string `json:"mountPath,omitempty"` }
StorageVolume defines additional PVC template for StatefulSets and volumeMount for pods that mount this PVC
func (*StorageVolume) DeepCopy ¶
func (in *StorageVolume) DeepCopy() *StorageVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageVolume.
func (*StorageVolume) DeepCopyInto ¶
func (in *StorageVolume) DeepCopyInto(out *StorageVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.