v1

package
v0.0.0-...-da8f381 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package,register Package v1 is the v1 version of the API. +groupName=doris.selectdb.com

Package v1 contains API Schema definitions for the doris v1 API group +kubebuilder:object:generate=true +groupName=doris.selectdb.com

Index

Constants

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

	DorisClusterLabelKey string = "app.doris.cluster"

	//OwnerReference list ownerReferences this object
	OwnerReference string = "app.doris.ownerreference/name"

	ServiceRoleForCluster string = "app.doris.service/role"
)

the labels key

View Source
const (
	//ComponentsResourceHash the component hash
	ComponentResourceHash string = "app.doris.components/hash"
)

the annotation key

View Source
const (
	SEARCH_SERVICE_SUFFIX = "-internal"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "doris.selectdb.com", Version: "v1"}

	// 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
)
View Source
var (
	AnnotationDebugKey   = "selectdb.com.doris/runmode"
	AnnotationDebugValue = "debug"
)
View Source
var DefaultFeElectionNumber int32 = 3
View Source
var SchemeGroupVersion = GroupVersion

SchemeGroupVersion is group version used to register these objects.

Functions

func GenerateComponentStatefulSetName

func GenerateComponentStatefulSetName(dcr *DorisCluster, componentType ComponentType) string

func GenerateExternalServiceLabels

func GenerateExternalServiceLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels

func GenerateExternalServiceName

func GenerateExternalServiceName(dcr *DorisCluster, componentType ComponentType) string

func GenerateInternalCommunicateServiceName

func GenerateInternalCommunicateServiceName(dcr *DorisCluster, componentType ComponentType) string

func GenerateInternalServiceLabels

func GenerateInternalServiceLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels

func GenerateServiceSelector

func GenerateServiceSelector(dcr *DorisCluster, componentType ComponentType) metadata.Labels

func GenerateStatefulSetLabels

func GenerateStatefulSetLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels

func GenerateStatefulSetSelector

func GenerateStatefulSetSelector(dcr *DorisCluster, componentType ComponentType) metadata.Labels

func GetClusterSecret

func GetClusterSecret(dcr *DorisCluster, secret *corev1.Secret) (adminUserName, password string)

GetClusterSecret get the cluster's adminuser and password through the cluster management account and password configuration in crd

func GetConfigFEAddrForAccess

func GetConfigFEAddrForAccess(dcr *DorisCluster, componentType ComponentType) (string, int)

func GetPodLabels

func GetPodLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels

func IsReconcilingStatusPhase

func IsReconcilingStatusPhase(c *ComponentStatus) bool

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AdminUser

type AdminUser struct {
	//the user name for admin service's node.
	Name string `json:"name,omitempty"`

	//password, login to doris db.
	Password string `json:"password,omitempty"`
}

AdminUser describe administrator for manage components in specified cluster.

func (*AdminUser) DeepCopy

func (in *AdminUser) DeepCopy() *AdminUser

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

func (*AdminUser) DeepCopyInto

func (in *AdminUser) DeepCopyInto(out *AdminUser)

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

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 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,,v2
	// +kubebuilder:default:="v2"
	Version AutoScalerVersion `json:"version,omitempty"`

	// +optional
	//the min numbers of target.
	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 BaseSpec

type BaseSpec struct {

	// pod start timeout, unit is second
	StartTimeout int32 `json:"startTimeout,omitempty"`

	//Number of seconds after which the probe times out. Defaults to 180 second.
	LiveTimeout int32 `json:"liveTimeout,omitempty"`

	//annotation for fe pods. user can config monitor annotation for collect to monitor system.
	Annotations map[string]string `json:"annotations,omitempty"`

	//serviceAccount for cn access cloud service.
	ServiceAccount string `json:"serviceAccount,omitempty"`

	//expose doris components for accessing.
	//example: if you want to use `stream load` to load data into doris out k8s, you can use be service and config different service type for loading data.
	Service *ExportService `json:"service,omitempty"`

	// specify register fe addresses
	FeAddress *FeAddress `json:"feAddress,omitempty"`

	//Replicas is the number of desired cn Pod.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:feSpecMinimum=3
	//+optional
	Replicas *int32 `json:"replicas,omitempty"`

	//Image for a doris 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"`

	//the reference for cn configMap.
	//+optional
	ConfigMapInfo ConfigMapInfo `json:"configMapInfo,omitempty"`

	//defines the specification of resource cpu and mem. ep: {"requests":{"cpu": 4, "memory": "16Gi"},"limits":{"cpu":4,"memory":"16Gi"}}
	corev1.ResourceRequirements `json:",inline"`
	// (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.
	EnvVars []corev1.EnvVar `json:"envVars,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
	// 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"`

	PersistentVolumes []PersistentVolume `json:"persistentVolumes,omitempty"`

	//SystemInitialization for fe, be and cn setting system parameters.
	SystemInitialization *SystemInitialization `json:"systemInitialization,omitempty"`

	//Security context for pod.
	//+optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	//Security context for all containers running in the pod (unless they override it).
	//+optional
	ContainerSecurityContext *corev1.SecurityContext `json:"containerSecurityContext,omitempty"`
}

BaseSpec describe the foundation spec of pod about doris components.

func (*BaseSpec) DeepCopy

func (in *BaseSpec) DeepCopy() *BaseSpec

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

func (*BaseSpec) DeepCopyInto

func (in *BaseSpec) DeepCopyInto(out *BaseSpec)

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

type BeSpec

type BeSpec struct {
	//the foundation spec for creating be software services.
	BaseSpec `json:",inline"`
}

BeSpec describes a template for creating copies of a be software service.

func (*BeSpec) DeepCopy

func (in *BeSpec) DeepCopy() *BeSpec

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

func (*BeSpec) DeepCopyInto

func (in *BeSpec) DeepCopyInto(out *BeSpec)

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

type BrokerSpec

type BrokerSpec struct {
	//the foundation spec for creating cn software services.
	//BaseSpec `json:"baseSpec,omitempty"`
	BaseSpec `json:",inline"`

	// enable affinity with be , if kickoff affinity, the operator will set affinity on broker with be.
	// The affinity is preferred not required.
	// When the user custom affinity the switch does not take effect anymore.
	KickOffAffinityBe bool `json:"kickOffAffinityBe,omitempty"`
}

BrokerSpec describes a template for creating copies of a broker software service, if deploy broker we recommend you add affinity for deploy with be pod.

func (*BrokerSpec) DeepCopy

func (in *BrokerSpec) DeepCopy() *BrokerSpec

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

func (*BrokerSpec) DeepCopyInto

func (in *BrokerSpec) DeepCopyInto(out *BrokerSpec)

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

type CnSpec

type CnSpec struct {
	//the foundation spec for creating cn software services.
	BaseSpec `json:",inline"`

	//AutoScalingPolicy auto scaling strategy
	AutoScalingPolicy *AutoScalingPolicy `json:"autoScalingPolicy,omitempty"`
}

CnSpec describes a template for creating copies of a cn software service. cn, the service for external table.

func (*CnSpec) DeepCopy

func (in *CnSpec) DeepCopy() *CnSpec

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

func (*CnSpec) DeepCopyInto

func (in *CnSpec) DeepCopyInto(out *CnSpec)

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

type CnStatus

type CnStatus struct {
	ComponentStatus `json:",inline"`
	//HorizontalAutoscaler have the autoscaler information.
	HorizontalScaler *HorizontalScaler `json:"horizontalScaler,omitempty"`
}

func (*CnStatus) DeepCopy

func (in *CnStatus) DeepCopy() *CnStatus

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

func (*CnStatus) DeepCopyInto

func (in *CnStatus) DeepCopyInto(out *CnStatus)

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

type ComponentCondition

type ComponentCondition struct {
	SubResourceName string `json:"subResourceName,omitempty"`
	// Phase of statefulset condition.
	Phase ComponentPhase `json:"phase"`
	// The last time this condition was updated.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message"`
}

func (*ComponentCondition) DeepCopy

func (in *ComponentCondition) DeepCopy() *ComponentCondition

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

func (*ComponentCondition) DeepCopyInto

func (in *ComponentCondition) DeepCopyInto(out *ComponentCondition)

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

type ComponentPhase

type ComponentPhase string
const (
	Reconciling      ComponentPhase = "reconciling"
	WaitScheduling   ComponentPhase = "waitScheduling"
	HaveMemberFailed ComponentPhase = "haveMemberFailed"
	Available        ComponentPhase = "available"
	Initializing     ComponentPhase = "initializing"
	Upgrading        ComponentPhase = "upgrading"
	Scaling          ComponentPhase = "scaling"
	Restarting       ComponentPhase = "restarting"
)

type ComponentStatus

type ComponentStatus struct {
	// DorisComponentStatus represents the status of a doris component.
	//the name of fe service exposed for user.
	AccessService string `json:"accessService,omitempty"`

	//FailedInstances failed pod names.
	FailedMembers []string `json:"failedInstances,omitempty"`

	//CreatingInstances in creating pod names.
	CreatingMembers []string `json:"creatingInstances,omitempty"`

	//RunningInstances in running status pod names.
	RunningMembers []string `json:"runningInstances,omitempty"`

	ComponentCondition ComponentCondition `json:"componentCondition"`
}

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type ComponentType

type ComponentType string
const (
	Component_FE     ComponentType = "fe"
	Component_BE     ComponentType = "be"
	Component_CN     ComponentType = "cn"
	Component_Broker ComponentType = "broker"
)

type ConfigMapInfo

type ConfigMapInfo struct {

	// ConfigMapName mapped the configuration files in the doris 'conf/' directory.
	// such as 'fe.conf', 'be.conf'. If HDFS access is involved, there may also be 'core-site.xml' and other files.
	// doris-operator mounts these configuration files in the '/etc/doris' directory by default.
	// links them to the 'conf/' directory of the doris component through soft links.
	ConfigMapName string `json:"configMapName,omitempty"`

	// Deprecated: This configuration has been abandoned and will be cleared in version 1.7.0.
	// It is currently forced to be 'fe.conf', 'be.conf', 'apache_hdfs_broker.conf'
	// It is no longer effective. the configuration content will not take effect.
	// +optional
	ResolveKey string `json:"resolveKey,omitempty"`

	// ConfigMaps can mount multiple configmaps to the specified path.
	// The mounting path of configmap cannot be repeated.
	// +optional
	ConfigMaps []MountConfigMapInfo `json:"configMaps,omitempty"`
}

ConfigMapInfo specify configmap to mount for component.

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

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

func (*ContainerResourceMetricSource) DeepCopyInto

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

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

func (*CrossVersionObjectReference) DeepCopyInto

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

type DorisCluster

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

	Spec   DorisClusterSpec   `json:"spec,omitempty"`
	Status DorisClusterStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=dcr +kubebuilder:printcolumn:name="FeStatus",type=string,JSONPath=`.status.feStatus.componentCondition.phase` +kubebuilder:printcolumn:name="BeStatus",type=string,JSONPath=`.status.beStatus.componentCondition.phase` +kubebuilder:printcolumn:name="CnStatus",type=string,JSONPath=`.status.cnStatus.componentCondition.phase` +kubebuilder:printcolumn:name="BrokerStatus",type=string,JSONPath=`.status.brokerStatus.componentCondition.phase` +kubebuilder:storageversion DorisCluster is the Schema for the dorisclusters API

func (*DorisCluster) DeepCopy

func (in *DorisCluster) DeepCopy() *DorisCluster

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

func (*DorisCluster) DeepCopyInto

func (in *DorisCluster) DeepCopyInto(out *DorisCluster)

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

func (*DorisCluster) DeepCopyObject

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

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

func (*DorisCluster) Default

func (r *DorisCluster) Default()

Default implements webhook.Defaulter so a unnamedwatches will be registered for the type

func (*DorisCluster) GetElectionNumber

func (dcr *DorisCluster) GetElectionNumber() int32

func (*DorisCluster) SetupWebhookWithManager

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

func (*DorisCluster) ValidateCreate

func (r *DorisCluster) ValidateCreate() error

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

func (*DorisCluster) ValidateDelete

func (r *DorisCluster) ValidateDelete() error

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

func (*DorisCluster) ValidateUpdate

func (r *DorisCluster) ValidateUpdate(old runtime.Object) error

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

type DorisClusterList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object DorisClusterList contains a list of DorisCluster

func (*DorisClusterList) DeepCopy

func (in *DorisClusterList) DeepCopy() *DorisClusterList

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

func (*DorisClusterList) DeepCopyInto

func (in *DorisClusterList) DeepCopyInto(out *DorisClusterList)

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

func (*DorisClusterList) DeepCopyObject

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

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

type DorisClusterSpec

type DorisClusterSpec struct {
	//defines the fe cluster state that will be created by operator.
	FeSpec *FeSpec `json:"feSpec,omitempty"`

	//defines the be cluster state pod that will be created by operator.
	BeSpec *BeSpec `json:"beSpec,omitempty"`

	//defines the cn cluster state that will be created by operator.
	CnSpec *CnSpec `json:"cnSpec,omitempty"`

	//defines the broker state that will be created by operator.
	BrokerSpec *BrokerSpec `json:"brokerSpec,omitempty"`

	//administrator for register or drop component from fe cluster. adminUser for all component register and operator drop component.
	//+Deprecated, from 1.4.1 please use secret config username and password.
	AdminUser *AdminUser `json:"adminUser,omitempty"`

	// the name of secret that type is `kubernetes.io/basic-auth` and contains keys username, password for management doris node in cluster as fe, be register.
	// the password key is `password`. the username defaults to `root` and is omitempty.
	AuthSecret string `json:"authSecret,omitempty"`
}

DorisClusterSpec defines the desired state of DorisCluster

func (*DorisClusterSpec) DeepCopy

func (in *DorisClusterSpec) DeepCopy() *DorisClusterSpec

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

func (*DorisClusterSpec) DeepCopyInto

func (in *DorisClusterSpec) DeepCopyInto(out *DorisClusterSpec)

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

type DorisClusterStatus

type DorisClusterStatus struct {
	//describe fe cluster status, record running, creating and failed pods.
	FEStatus *ComponentStatus `json:"feStatus,omitempty"`

	//describe be cluster status, recode running, creating and failed pods.
	BEStatus *ComponentStatus `json:"beStatus,omitempty"`

	//describe cn cluster status, record running, creating and failed pods.
	CnStatus *CnStatus `json:"cnStatus,omitempty"`

	//describe broker cluster status, record running, creating and failed pods.
	BrokerStatus *ComponentStatus `json:"brokerStatus,omitempty"`
}

DorisClusterStatus defines the observed state of DorisCluster

func (*DorisClusterStatus) DeepCopy

func (in *DorisClusterStatus) DeepCopy() *DorisClusterStatus

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

func (*DorisClusterStatus) DeepCopyInto

func (in *DorisClusterStatus) DeepCopyInto(out *DorisClusterStatus)

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

type DorisServicePort

type DorisServicePort struct {
	// The port on each node on which this service is exposed when type is
	// NodePort or LoadBalancer.  Usually assigned by the system. If a value is
	// specified, in-range, and not in use it will be used, otherwise the
	// operation will fail.  If not specified, a port will be allocated if this
	// Service requires one.  If this field is specified when creating a
	// Service which does not need it, creation will fail. This field will be
	// wiped when updating a Service to no longer need it (e.g. changing type
	// from NodePort to ClusterIP).
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
	// need in 30000-32767
	// +optional
	NodePort int32 `json:"nodePort,omitempty"`

	// Number or name of the port to access on the pods targeted by the service.
	// Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
	// If this is a string, it will be looked up as a named port in the
	// target Pod's container ports. If this is not specified, the value
	// of the 'port' field is used (an identity map).
	// This field is ignored for services with clusterIP=None, and should be
	// omitted or set equal to the 'port' field.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
	// +optional
	TargetPort int32 `json:"targetPort,omitempty"`
}

DorisServicePort for ServiceType=NodePort situation.

func (*DorisServicePort) DeepCopy

func (in *DorisServicePort) DeepCopy() *DorisServicePort

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

func (*DorisServicePort) DeepCopyInto

func (in *DorisServicePort) DeepCopyInto(out *DorisServicePort)

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

type Endpoints

type Endpoints struct {
	//the ip or domain array.
	Address []string `json:":address,omitempty"`

	// the fe port that for query. the field `query_port` defines in fe config.
	Port int `json:"port,omitempty"`
}

Endpoints describe the address outside k8s.

func (*Endpoints) DeepCopy

func (in *Endpoints) DeepCopy() *Endpoints

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

func (*Endpoints) DeepCopyInto

func (in *Endpoints) DeepCopyInto(out *Endpoints)

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

type ExportService

type ExportService struct {
	//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"`

	//ServicePort config service for NodePort access mode.
	ServicePorts []DorisServicePort `json:"servicePorts,omitempty"`

	//Annotations for using function on different cloud platform.
	Annotations map[string]string `json:"annotations,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"`
}

ExportService consisting of expose ports for user access to software service.

func (*ExportService) DeepCopy

func (in *ExportService) DeepCopy() *ExportService

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

func (*ExportService) DeepCopyInto

func (in *ExportService) DeepCopyInto(out *ExportService)

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

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 FeAddress

type FeAddress struct {
	//the service name that proxy fe on k8s. the service must in same namespace with fe.
	ServiceName string `json:"ServiceName,omitempty"`

	//the fe addresses if not deploy by crd, user can use k8s deploy fe observer.
	Endpoints Endpoints `json:"endpoints,omitempty"`
}

FeAddress specify the fe address, please set it when you deploy fe outside k8s or deploy components use crd except fe, if not set .

func (*FeAddress) DeepCopy

func (in *FeAddress) DeepCopy() *FeAddress

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

func (*FeAddress) DeepCopyInto

func (in *FeAddress) DeepCopyInto(out *FeAddress)

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

type FeSpec

type FeSpec struct {
	//the number of fe in election. electionNumber <= replicas, left as observers. default value=3
	ElectionNumber *int32 `json:"electionNumber,omitempty"`

	//the foundation spec for creating be software services.
	BaseSpec `json:",inline"`
}

FeSpec describes a template for creating copies of a fe software service.

func (*FeSpec) DeepCopy

func (in *FeSpec) DeepCopy() *FeSpec

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

func (*FeSpec) DeepCopyInto

func (in *FeSpec) DeepCopyInto(out *FeSpec)

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

func (in *HPAPolicy) DeepCopy() *HPAPolicy

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

func (*HPAPolicy) DeepCopyInto

func (in *HPAPolicy) DeepCopyInto(out *HPAPolicy)

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

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

func (*HorizontalPodAutoscalerBehavior) DeepCopyInto

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 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 MountConfigMapInfo

type MountConfigMapInfo struct {
	// name of configmap that needs to mount.
	ConfigMapName string `json:"configMapName,omitempty"`

	// Current ConfigMap Mount Path.
	// If MountConfigMapInfo belongs to the same ConfigMapInfo, their MountPath cannot be repeated.
	MountPath string `json:"mountPath,omitempty"`
}

func (*MountConfigMapInfo) DeepCopy

func (in *MountConfigMapInfo) DeepCopy() *MountConfigMapInfo

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

func (*MountConfigMapInfo) DeepCopyInto

func (in *MountConfigMapInfo) DeepCopyInto(out *MountConfigMapInfo)

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

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 PVCProvisioner

type PVCProvisioner string

PVCProvisioner defines PVC provisioner

const (
	PVCProvisionerUnspecified PVCProvisioner = ""
	PVCProvisionerStatefulSet PVCProvisioner = "StatefulSet"
	PVCProvisionerOperator    PVCProvisioner = "Operator"
)

Possible values of PVC provisioner

type PersistentVolume

type PersistentVolume struct {
	// PersistentVolumeClaimSpec is a list of claim spec about storage that pods are required.
	// +kubebuilder:validation:Optional
	corev1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`

	//the mount path for component service.
	MountPath string `json:"mountPath,omitempty"`

	//the volume name associate with
	Name string `json:"name,omitempty"`

	//Annotation for PVC pods. Users can adapt the storage authentication and pv binding of the cloud platform through configuration.
	//It only takes effect in the first configuration and cannot be added or modified later.
	Annotations map[string]string `json:"annotations,omitempty"`

	//defines pvc provisioner
	PVCProvisioner PVCProvisioner `json:"provisioner,omitempty"`
}

PersistentVolume defines volume information and container mount information.

func (*PersistentVolume) DeepCopy

func (in *PersistentVolume) DeepCopy() *PersistentVolume

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

func (*PersistentVolume) DeepCopyInto

func (in *PersistentVolume) DeepCopyInto(out *PersistentVolume)

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

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 ServiceRole

type ServiceRole string
const (
	Service_Role_Access   ServiceRole = "access"
	Service_Role_Internal ServiceRole = "internal"
)

type SystemInitialization

type SystemInitialization struct {
	//Image for doris initialization, default is selectdb/alpine:latest.
	InitImage string `json:"initImage,omitempty"`

	// Entrypoint array. Not executed within a shell.
	Command []string `json:"command,omitempty"`

	// Arguments to the entrypoint.
	Args []string `json:"args,omitempty"`
}

func (*SystemInitialization) DeepCopy

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

func (*SystemInitialization) DeepCopyInto

func (in *SystemInitialization) DeepCopyInto(out *SystemInitialization)

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