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
- Variables
- func GenerateComponentStatefulSetName(dcr *DorisCluster, componentType ComponentType) string
- func GenerateExternalServiceLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels
- func GenerateExternalServiceName(dcr *DorisCluster, componentType ComponentType) string
- func GenerateInternalCommunicateServiceName(dcr *DorisCluster, componentType ComponentType) string
- func GenerateInternalServiceLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels
- func GenerateServiceSelector(dcr *DorisCluster, componentType ComponentType) metadata.Labels
- func GenerateStatefulSetLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels
- func GenerateStatefulSetSelector(dcr *DorisCluster, componentType ComponentType) metadata.Labels
- func GetClusterSecret(dcr *DorisCluster, secret *corev1.Secret) (adminUserName, password string)
- func GetConfigFEAddrForAccess(dcr *DorisCluster, componentType ComponentType) (string, int)
- func GetPodLabels(dcr *DorisCluster, componentType ComponentType) metadata.Labels
- func IsReconcilingStatusPhase(c *ComponentStatus) bool
- func Resource(resource string) schema.GroupResource
- type AdminUser
- type AutoScalerVersion
- type AutoScalingPolicy
- type BaseSpec
- type BeSpec
- type BrokerSpec
- type CnSpec
- type CnStatus
- type ComponentCondition
- type ComponentPhase
- type ComponentStatus
- type ComponentType
- type ConfigMapInfo
- type ContainerResourceMetricSource
- type CrossVersionObjectReference
- type DorisCluster
- func (in *DorisCluster) DeepCopy() *DorisCluster
- func (in *DorisCluster) DeepCopyInto(out *DorisCluster)
- func (in *DorisCluster) DeepCopyObject() runtime.Object
- func (r *DorisCluster) Default()
- func (dcr *DorisCluster) GetElectionNumber() int32
- func (r *DorisCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *DorisCluster) ValidateCreate() error
- func (r *DorisCluster) ValidateDelete() error
- func (r *DorisCluster) ValidateUpdate(old runtime.Object) error
- type DorisClusterList
- type DorisClusterSpec
- type DorisClusterStatus
- type DorisServicePort
- type Endpoints
- type ExportService
- type ExternalMetricSource
- type FeAddress
- type FeSpec
- type HPAPolicy
- type HPAScalingPolicy
- type HPAScalingPolicyType
- type HPAScalingRules
- type HorizontalPodAutoscalerBehavior
- type HorizontalScaler
- type MetricIdentifier
- type MetricSourceType
- type MetricSpec
- type MetricTarget
- type MetricTargetType
- type MountConfigMapInfo
- type ObjectMetricSource
- type PVCProvisioner
- type PersistentVolume
- type PodsMetricSource
- type ResourceMetricSource
- type ScalingPolicySelect
- type ServiceRole
- type SystemInitialization
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" 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
const ( //ComponentsResourceHash the component hash ComponentResourceHash string = "app.doris.components/hash" )
the annotation key
const (
SEARCH_SERVICE_SUFFIX = "-internal"
)
Variables ¶
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 )
var ( AnnotationDebugKey = "selectdb.com.doris/runmode" AnnotationDebugValue = "debug" )
var DefaultFeElectionNumber int32 = 3
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdminUser.
func (*AdminUser) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseSpec.
func (*BaseSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BeSpec.
func (*BeSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CnSpec.
func (*CnSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CnStatus.
func (*CnStatus) DeepCopyInto ¶
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 ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoints.
func (*Endpoints) DeepCopyInto ¶
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 ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeAddress.
func (*FeAddress) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeSpec.
func (*FeSpec) DeepCopyInto ¶
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 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 ¶
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 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 ¶
func (in *SystemInitialization) DeepCopy() *SystemInitialization
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.