resource

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: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HTTP_PORT     = "http_port"
	RPC_PORT      = "rpc_port"
	QUERY_PORT    = "query_port"
	EDIT_LOG_PORT = "edit_log_port"
)

the fe ports key

View Source
const (
	THRIFT_PORT            = "thrift_port"
	BE_PORT                = "be_port"
	WEBSERVER_PORT         = "webserver_port"
	HEARTBEAT_SERVICE_PORT = "heartbeat_service_port"
	BRPC_PORT              = "brpc_port"
)

the cn or be ports key

View Source
const (
	FE_RESOLVEKEY     = "fe.conf"
	BE_RESOLVEKEY     = "be.conf"
	CN_RESOLVEKEY     = "be.conf"
	BROKER_RESOLVEKEY = "apache_hdfs_broker.conf"
	MS_RESOLVEKEY     = "doris_cloud.conf"
	RC_RESOLVEKEY     = "doris_cloud.conf"
	DefaultMsToken    = "greedisgood9999"
	DefaultMsTokenKey = "http_token"
)

the default ResolveKey

View Source
const (
	ENV_FE_ADDR = "ENV_FE_ADDR"

	ENV_FE_PORT = "FE_QUERY_PORT"

	ENV_FE_ELECT_NUMBER = "ELECT_NUMBER"

	COMPONENT_TYPE = "COMPONENT_TYPE"

	FDB_ENDPOINT = "FDB_ENDPOINT"

	NAMESPACE        = "NAMESPACE"
	STATEFULSET_NAME = "STATEFULSET_NAME"

	COMPUTE_GROUP_NAME = "COMPUTE_GROUP_NAME"
)

the env keys

View Source
const (
	ConfigEnvPath = config_env_path

	HEALTH_API_PATH            = "/api/health"
	HEALTH_BROKER_LIVE_COMMAND = "/opt/apache-doris/broker_is_alive.sh"
	FE_PRESTOP                 = "/opt/apache-doris/fe_prestop.sh"
	BE_PRESTOP                 = "/opt/apache-doris/be_prestop.sh"
	BROKER_PRESTOP             = "/opt/apache-doris/broker_prestop.sh"

	//keys for pod env variables
	POD_NAME             = "POD_NAME"
	POD_IP               = "POD_IP"
	HOST_IP              = "HOST_IP"
	POD_NAMESPACE        = "POD_NAMESPACE"
	ADMIN_USER           = "USER"
	ADMIN_PASSWD         = "PASSWD"
	DORIS_ROOT           = "DORIS_ROOT"
	DEFAULT_ADMIN_USER   = "root"
	DEFAULT_ROOT_PATH    = "/opt/apache-doris"
	POD_INFO_PATH        = "/etc/podinfo"
	POD_INFO_VOLUME_NAME = "podinfo"

	NODE_TOPOLOGYKEY = "kubernetes.io/hostname"

	DEFAULT_INIT_IMAGE = "selectdb/alpine:latest"

	HEALTH_DISAGGREGATED_FE_PROBE_COMMAND = "/opt/apache-doris/fe_disaggregated_probe.sh"
	HEALTH_DISAGGREGATED_BE_PROBE_COMMAND = "/opt/apache-doris/be_disaggregated_probe.sh"
	HEALTH_DISAGGREGATED_MS_PROBE_COMMAND = "/opt/apache-doris/ms_disaggregated_probe.sh"

	DISAGGREGATED_LIVE_PARAM_ALIVE = "alive"
	DISAGGREGATED_LIVE_PARAM_READY = "ready"
)
View Source
const (
	START_MS_COMMAND        = "/opt/apache-doris/ms_disaggregated_entrypoint.sh"
	START_RC_COMMAND        = "/opt/apache-doris/ms_disaggregated_entrypoint.sh"
	START_MS_PARAMETER      = "meta-service"
	START_RC_PARAMETER      = "recycler"
	HEALTH_MS_PROBE_COMMAND = "/opt/apache-doris/ms_disaggregated_probe.sh"
	PRESTOP_MS_COMMAND      = "/opt/apache-doris/ms_disaggregated_prestop.sh"
	MS_Log_Key              = "log_dir"
	Default_MS_Log_Path     = "/opt/apache-doris/ms/log/"
)
View Source
const ARROW_FLIGHT_SQL_PORT = "arrow_flight_sql_port"
View Source
const BROKER_IPC_PORT = "broker_ipc_port"
View Source
const (
	BRPC_LISTEN_PORT = "brpc_listen_port"
)
View Source
const ENABLE_FQDN = "enable_fqdn_mode"
View Source
const GRACE_SHUTDOWN_WAIT_SECONDS = "grace_shutdown_wait_seconds"
View Source
const START_MODEL_FQDN = "FQDN"
View Source
const START_MODEL_IP = "IP"

Variables

View Source
var (
	AutoscalerKind  = "HorizontalPodAutoscaler"
	StatefulSetKind = "StatefulSet"
	ServiceKind     = "Service"
)

Functions

func ApplySecurityContext

func ApplySecurityContext(containers []corev1.Container, securityContext *corev1.SecurityContext) []corev1.Container

ApplySecurityContext applies the container security context to all containers in the pod (if not already set).

func BuildDMSService

func BuildDMSService(ddm *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType, brpcPort int32) corev1.Service

func BuildDisaggregatedProbe

func BuildDisaggregatedProbe(container *corev1.Container, cs *dv1.CommonSpec, componentType dv1.DisaggregatedComponentType)

func BuildExternalService

func BuildExternalService(dcr *v1.DorisCluster, componentType v1.ComponentType, config map[string]interface{}) corev1.Service

BuildExternalService build the external service. not have selector

func BuildHorizontalPodAutoscaler

func BuildHorizontalPodAutoscaler(pap *PodAutoscalerParams) client.Object

func BuildInternalService

func BuildInternalService(dcr *v1.DorisCluster, componentType v1.ComponentType, config map[string]interface{}) corev1.Service

func BuildPVC

func BuildPVC(volume dorisv1.PersistentVolume, labels map[string]string, namespace, stsName, ordinal string) corev1.PersistentVolumeClaim

func BuildPVCName

func BuildPVCName(stsName, ordinal, volumeName string) string

func DMSServiceDeepEqual

func DMSServiceDeepEqual(newSvc, oldSvc *corev1.Service) bool

func DMSStatefulSetDeepEqual

func DMSStatefulSetDeepEqual(new *appv1.StatefulSet, old *appv1.StatefulSet, excludeReplicas bool) bool

StatefulSetDeepEqual judge two statefulset equal or not.

func GeneratePodTemplateName

func GeneratePodTemplateName(dcr *v1.DorisCluster, componentType v1.ComponentType) string

func GetContainerPorts

func GetContainerPorts(config map[string]interface{}, componentType v1.ComponentType) []corev1.ContainerPort

func GetDMSBaseSpecFromCluster

func GetDMSBaseSpecFromCluster(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) (*mv1.BaseSpec, *int32)

func GetDMSContainerPorts

func GetDMSContainerPorts(brpcPort int32, componentType mv1.ComponentType) []corev1.ContainerPort

func GetDefaultPort

func GetDefaultPort(key string) int32

func GetDisaggregatedContainerPorts

func GetDisaggregatedContainerPorts(config map[string]interface{}, componentType dv1.DisaggregatedComponentType) []corev1.ContainerPort

func GetDorisLoginInformation

func GetDorisLoginInformation(secret *corev1.Secret) (adminUserName, password string)

func GetInt32Pointer

func GetInt32Pointer(v int32) *int32

func GetInt64ptr

func GetInt64ptr(n int64) *int64

func GetMountConfigMapInfo

func GetMountConfigMapInfo(c dorisv1.ConfigMapInfo) (finalConfigMaps []dorisv1.MountConfigMapInfo)

func GetOwnerReference

func GetOwnerReference(o client.Object) metav1.OwnerReference

func GetPodDefaultEnv

func GetPodDefaultEnv() []corev1.EnvVar

func GetPort

func GetPort(config map[string]interface{}, key string) int32

getPort get ports from config file.

func GetPortKey

func GetPortKey(configKey string) string

func GetStartMode

func GetStartMode(config map[string]interface{}) string

GetStartMode return fe host type, fqdn(host) or ip, from 'fe.conf' enable_fqdn_mode

func GetStringPointer

func GetStringPointer(s string) *string

func GetTerminationGracePeriodSeconds

func GetTerminationGracePeriodSeconds(config map[string]interface{}) int64

GetTerminationGracePeriodSeconds get grace_shutdown_wait_seconds from config file.

func LifeCycleWithPreStopScript

func LifeCycleWithPreStopScript(lc *corev1.Lifecycle, preStopScript string)

func LivenessProbe

func LivenessProbe(port, timeout int32, path string, commands []string, pt ProbeType) *corev1.Probe

func MergeMetadata

func MergeMetadata(new *metav1.ObjectMeta, old metav1.ObjectMeta)

mergeMetadata takes labels and annotations from the old resource and merges them into the new resource. If a key is present in both resources, the new resource wins. It also copies the ResourceVersion from the old resource to the new resource to prevent update conflicts.

func MergeSlices

func MergeSlices(new []string, old []string) []string

func MergeStatefulSets

func MergeStatefulSets(new *appv1.StatefulSet, old appv1.StatefulSet)

MergeStatefulSets merge exist statefulset and new statefulset.

func NewBaseMainContainer

func NewBaseMainContainer(dcr *v1.DorisCluster, config map[string]interface{}, componentType v1.ComponentType) corev1.Container

func NewContainerWithCommonSpec

func NewContainerWithCommonSpec(cs *dv1.CommonSpec) corev1.Container

build disaggregated node(fe,be) container.

func NewDMSBaseMainContainer

func NewDMSBaseMainContainer(dms *mv1.DorisDisaggregatedMetaService, brpcPort int32, config map[string]interface{}, componentType mv1.ComponentType) corev1.Container

func NewDMSPodTemplateSpec

func NewDMSPodTemplateSpec(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) corev1.PodTemplateSpec

func NewDMSStatefulSet

func NewDMSStatefulSet(dms *mv1.DorisDisaggregatedMetaService, componentType mv1.ComponentType) appv1.StatefulSet

NewDMSStatefulSet construct statefulset for metaservice and recycler.

func NewPodTemplateSpec

func NewPodTemplateSpec(dcr *v1.DorisCluster, componentType v1.ComponentType) corev1.PodTemplateSpec

func NewPodTemplateSpecWithCommonSpec

func NewPodTemplateSpecWithCommonSpec(cs *dv1.CommonSpec, componentType dv1.DisaggregatedComponentType) corev1.PodTemplateSpec

func NewStatefulSet

func NewStatefulSet(dcr *v1.DorisCluster, componentType v1.ComponentType) appv1.StatefulSet

NewStatefulSet construct statefulset.

func ReadinessProbe

func ReadinessProbe(port int32, path string, commands []string, pt ProbeType) *corev1.Probe

func ResolveConfigMaps

func ResolveConfigMaps(configMaps []*corev1.ConfigMap, componentType dorisv1.ComponentType) (map[string]interface{}, error)

func ResolveDMSConfigMaps

func ResolveDMSConfigMaps(configMaps []*corev1.ConfigMap, componentType mv1.ComponentType) (map[string]interface{}, error)

func ServiceDeepEqual

func ServiceDeepEqual(newSvc, oldSvc *corev1.Service) bool

func ServiceDeepEqualWithAnnoKey

func ServiceDeepEqualWithAnnoKey(nsvc, osvc *corev1.Service, annoKey string) bool

func StatefulSetDeepEqual

func StatefulSetDeepEqual(new *appv1.StatefulSet, old *appv1.StatefulSet, excludeReplicas bool) bool

StatefulSetDeepEqual judge two statefulset equal or not.

func StatefulsetDeepEqualWithKey

func StatefulsetDeepEqualWithKey(new, old *appv1.StatefulSet, annoKey string, excludeReplicas bool) bool

Types

type Annotations

type Annotations map[string]string

func NewAnnotations

func NewAnnotations(annotations ...Annotations) Annotations

func (Annotations) Add

func (a Annotations) Add(key, value string)

func (Annotations) AddAnnotation

func (a Annotations) AddAnnotation(annotation Annotations)

type Labels

type Labels map[string]string

func NewLabels

func NewLabels(labels ...Labels) Labels

func (Labels) Add

func (l Labels) Add(key, value string)

func (Labels) AddLabel

func (l Labels) AddLabel(label Labels)

type PodAutoscalerParams

type PodAutoscalerParams struct {
	AutoscalerType  dorisv1.AutoScalerVersion
	Namespace       string
	Name            string
	Labels          Labels
	TargetName      string
	OwnerReferences []metav1.OwnerReference
	ScalerPolicy    *dorisv1.AutoScalingPolicy
}

type ProbeType

type ProbeType string
var (
	HttpGet   ProbeType = "httpGet"
	TcpSocket ProbeType = "tcpSocket"
	Exec      ProbeType = "exec"
)

Jump to

Keyboard shortcuts

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