# set the nameOverride values for creating the same resources with parent chart.
# In version v1.7.1 or before, there is only one chart called kube-starrocks, and the chart name is the prefix
# of some resources created by the chart.
# In version v1.8.0, the kube-starrocks chart is split into two charts, and to keep backward compatibility, the
# nameOverride is used to set the prefix of the resources created by starrocks chart.
nameOverride:""
# This configuration is used to modify the root password during initial deployment.
# After deployment is completed, it won't take effect to modify the password here and to do a `helm upgrade`.
# It also supports providing secret name that contains password, using the password in the secret instead of the plaintext in the values.yaml.
# When both password and passwordSecret are set, only passwordSecret takes effect.
# Note: If you install StarRocks using helm install without setting the initPassword, then for subsequent upgrade deployments,
# you should also not set the initPassword.
# If you install StarRocks using helm install and set the initPassword, please always retain the configuration of initPassword.
initPassword:
enabled:false
# Note: If you are using Argo CD to deploy the StarRocks cluster, you must set isInstall to false after the first installation.
# This is because Argo CD support helm like this: helm template <options> | kubectl apply -f -. If isInstall is true, the
# initPassword job will be executed every time you run the command.
# see https://github.com/argoproj/argo-cd/discussions/7496#discussioncomment-1609267 for more information
isInstall:true
password:""
# The secret name that contains password, the key of the secret is "password", and you should create it first.
passwordSecret:""
# The image of the initPassword job, if it is not set, the FE image will be used.
# see https://github.com/StarRocks/starrocks-kubernetes-operator/issues/453 for why we need to set the image.
image:""
# The annotations for the Job, not including the annotations for the pod.
annotations:{}
# The annotations for the Job's Pod, not including the annotations for the job.
podAnnotations:{}
# resources for init_job pod.
resources:{}
#resources:
# requests:
# cpu: 500m
# memory: 400Mi
# limits:
# cpu: 500m
# memory: 800Mi
# TimeZone is used to set the environment variable TZ for pod, with Asia/Shanghai as the default.
timeZone:UTC
# This configuration is used to integrate with external system DataDog.
# You can enable the integration by setting the enabled to true, e.g. datalog.log.enabled=true will enable datadog agent
# to collect the log.
datadog:
log:
enabled:false
# besides the attributes you added, chart will append "source" and "service" attributes to the log config.
# see https://docs.datadoghq.com/containers/kubernetes/log/?tab=operator for more details.
logConfig:'{}'# e.g. '{"app": "starrocks", "tags": ["aa", "bb"]}'
metrics:
enabled:false
profiling:
fe:false# change to 'true' to enable profiling on FE pods;
be:false# change to 'true' to enable profiling on BE pods;
cn:false# change to 'true' to enable profiling on CN pods;
env:"starrocks-default"# the default value for DD_ENV;
configMode:"service"# see https://docs.datadoghq.com/containers/cluster_agent/admission_controller/?tab=operator#configure-apm-and-dogstatsd-communication-mode
# This configuration is used to integrate with external system Prometheus.
metrics:
serviceMonitor:
# Whether to expose metrics to Prometheus by ServiceMonitor.
# Note: make sure the prometheus operator is installed in your cluster.
# If prometheus is not installed by operator, you can add annotations on k8s service to expose metrics.
# see https://github.com/StarRocks/starrocks-kubernetes-operator/blob/main/doc/integration/integration-prometheus-grafana.md#51-turn-on-the-prometheus-metrics-scrape-by-adding-annotations for more details.
enabled:false
# Prometheus ServiceMonitor labels
labels:{}
# scraper: prometheus-operator
# Prometheus ServiceMonitor interval
interval:15s
# Whether to enable basic auth
basicAuth:
enabled:false
# The name of the secret that contains the username for basic auth.
# The secret should contain a key named "username".
usernameSecretName:""
# The key in the secret that contains the username for basic auth.
usernameSecretKey:""
# The name of the secret that contains the password for basic auth.
# The secret should contain a key named "password".
passwordSecretName:""
# The key in the secret that contains the password for basic auth.
passwordSecretKey:""
# Whether to enable request parameters for the ServiceMonitor.
endpointParam:
enabled:false
# the parameters for the ServiceMonitor.
# params:
# with_materialized_view_metrics:
# - "all"
params:{}
# deploy a starrocks cluster
starrocksCluster:
# the name of starrockscluster cluster, if not set, the value of nameOverride fields will be used.
name:"freeleaps-starrocks"
# the namespace of starrockscluster cluster, if not set, the release namespace will be used.
namespace:"freeleaps-data-platform"
# annotations for starrocks cluster.
annotations:{}
# specify the cn deploy or not.
enabledBe:true
enabledCn:false
# disaster recovery configuration. If you want to enable disaster recovery, you need to set the enabled field to true.
# Note:
# 1. If you are using an existing StarRocks cluster, you need to clean up the meta of the FE component and the data of the CN
# component before enabling disaster recovery. So it is better to use an empty StarRocks cluster to start disaster recovery.
# 2. After disaster recovery, Operator will reboot the cluster as a normal cluster automatically, so if you need more checks by yourself,
# you can
# 1. set the replicas of FE component to 1
# 2. set enabledBe and enabledCn to be false to disable to deploy BE and CN components.
# 3. generation field is used to run multiple times for disaster recovery. For example, if the last disaster recovery is
# not what you want, you can modify related configurations and increase the generation value to run a new disaster recovery.
disasterRecovery:
# enabled: true
# generation: 1
# componentValues field is used to define values for all starrocks cluster components, including starrocksFESpec,
# starrocksBeSpec, starrocksCnSpec, not including starrocksFeProxySpec. So that you do not need to modify them in
# their own spec.
# Note:
# 1. the values in their own spec will take precedence over the values in this field.
# 2. the values in their own spec will replace all the values in this field, not merge.
componentValues:
image:
tag:"3.3-latest"
# hostAliases allows adding entries to /etc/hosts inside the containers.
hostAliases:[]
# - ip: "127.0.0.1"
# hostnames:
# - "example.com"
# If runAsNonRoot is true, the container is run as non-root user.
# The userId will be set to 1000, and the groupID will be set to 1000.
# Note: If you have started the container through root, and then FE/BE began to create directories, write files, etc.
# under the mounted directory as root. When you start the container as a non-root user, the container will not
# have permission to access these files. So you'd better set runAsNonRoot to true when you set up the cluster.
# schedulerName allows you to specify which scheduler will be used for your pods.
schedulerName:""
# serviceAccount for access cloud service.
serviceAccount:""
# imagePullSecrets allows you to use secrets to pull images for pods.
imagePullSecrets:[]
# - name: "image-pull-secret"
# tolerations for pod scheduling to nodes with taints
# add annotations for fe pods. For example, if you want to config monitor for datadog, you can config the annotations.
annotations:{}
# If runAsNonRoot is true, the container is run as non-root user.
# The userId will be set to 1000, and the groupID will be set to 1000.
# Note: If you have started the container through root, and then FE/BE began to create directories, write files, etc.
# under the mounted directory as root. When you start the container as a non-root user, the container will not
# have permission to access these files. So you'd better set runAsNonRoot to true when you set up the cluster.
runAsNonRoot:false
# Whether this container has a read-only root filesystem.
# Note: The FE/BE/CN container should support read-only root filesystem. The newest version of FE/BE/CN is 3.3.6, and does not support read-only root filesystem.
readOnlyRootFilesystem:false
# add/drop capabilities for FE container.
capabilities:{}
# add:
# - PERFMON
# - SYS_PTRACE
# drop:
# - SYS_ADMIN
# set sysctls for fe pod.
# See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for how to set sysctls.
# Note: The use of unsafe sysctls is at-your-own-risk and can lead to severe problems
sysctls:[]
# - name: net.ipv4.ip_unprivileged_port_start
# value: "2048"
# specify the service name and port config and serviceType
# the service type refer https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
service:
# the fe service type, only supported ClusterIP, NodePort, LoadBalancer
type:"ClusterIP"
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
loadbalancerIP:""
# add annotations for external fe service.
annotations:{}
# Add labels for external fe service. The operator may add its own default labels.
labels:{}
# config the service port for fe service.
# To assign a specific port or nodePort to a service, you should specify them by the corresponding name or
# containerPort in the service configuration. If both containerPort and name are specified, containerPort takes precedence.
# For fe, port name can be http, query, rpc, edit-log, and their default container port is 8030, 9030, 9020, 9010.
ports:[]
# e.g. specify a dedicated node port for fe service by containerPort.
# - nodePort: 30030 # The range of valid ports is 30000-32767
# containerPort: 8030 # The port exported on the container
# specify the source IP ranges for the load balancer when the type=LoadBalancer.
loadBalancerSourceRanges:[]
# - 10.0.0.0/8
# imagePullSecrets allows you to use secrets to pull images for pods.
imagePullSecrets:[]
# - name: "image-pull-secret"
# serviceAccount for fe access cloud service.
serviceAccount:""
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
# add annotations for cn pods. example, if you want to config monitor for datadog, you can config the annotations.
annotations:{}
# If runAsNonRoot is true, the container is run as non-root user.
# The userId will be set to 1000, and the groupID will be set to 1000.
# Note: If you have started the container through root, and then FE/BE began to create directories, write files, etc.
# under the mounted directory as root. When you start the container as a non-root user, the container will not
# have permission to access these files. So you'd better set runAsNonRoot to true when you set up the cluster.
runAsNonRoot:false
# Whether this container has a read-only root filesystem.
# Note: The FE/BE/CN container should support read-only root filesystem. The newest version of FE/BE/CN is 3.3.6, and does not support read-only root filesystem.
readOnlyRootFilesystem:false
# add/drop capabilities for CN container.
capabilities:{}
# add:
# - PERFMON
# - SYS_PTRACE
# drop:
# - SYS_ADMIN
# set sysctls for cn pod.
# See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for how to set sysctls.
# Note: The use of unsafe sysctls is at-your-own-risk and can lead to severe problems
sysctls:[]
# - name: net.ipv4.ip_unprivileged_port_start
# value: "2048"
# specify the service name and port config and serviceType
# the service type refer https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
service:
# the cn service type, only supported ClusterIP, NodePort, LoadBalancer
type:"ClusterIP"
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadBalancerIp is not empty.
loadbalancerIP:""
# add annotations for external cn service.
annotations:{}
# Add labels for external cn service. The operator may add its own default labels.
labels:{}
# config the service port for cn service.
# To assign a specific port or nodePort to a service, you should specify them by the corresponding name or
# containerPort in the service configuration. If both containerPort and name are specified, containerPort takes precedence.
# For cn, port name can be webserver, heartbeat, brpc, thrift, and their default container port is 8040, 9050, 8060, 9060.
ports:[]
# e.g. specify a dedicated node port for cn service by containerPort.
# - nodePort: 30040 # The range of valid ports is 30000-32767
# containerPort: 8040 # The port on the container to expose
# specify the source IP ranges for the load balancer when the type=LoadBalancer.
loadBalancerSourceRanges:[]
# - 10.0.0.0/8
# imagePullSecrets allows you to use secrets for pulling images for your pods.
imagePullSecrets:[]
# - name: "image-pull-secret"
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
# add annotations for be pods. example, if you want to config monitor for datadog, you can config the annotations.
annotations:{}
# If runAsNonRoot is true, the container is run as non-root user.
# The userId will be set to 1000, and the groupID will be set to 1000.
# Note: If you have started the container through root, and then FE/BE began to create directories, write files, etc.
# under the mounted directory as root. When you start the container as a non-root user, the container will not
# have permission to access these files. So you'd better set runAsNonRoot to true when you set up the cluster.
runAsNonRoot:false
# Whether this container has a read-only root filesystem.
# Note: The FE/BE/CN container should support read-only root filesystem. The newest version of FE/BE/CN is 3.3.6, and does not support read-only root filesystem.
readOnlyRootFilesystem:false
# add/drop capabilities for BE container.
capabilities:{}
# add:
# - PERFMON
# - SYS_PTRACE
# drop:
# - SYS_ADMIN
# set sysctls for be pod.
# See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for how to set sysctls.
# Note: The use of unsafe sysctls is at-your-own-risk and can lead to severe problems
sysctls:[]
# - name: net.ipv4.ip_unprivileged_port_start
# value: "2048"
# specify the service name and port config and serviceType
# the service type refer https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
service:
# the be service type, only supported ClusterIP, NodePort, LoadBalancer
type:"ClusterIP"
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
loadbalancerIP:""
# add annotations for external be service.
annotations:{}
# Add labels for external be service. The operator may add its own default labels.
labels:{}
# config the service port for be service.
# To assign a specific port or nodePort to a service, you should specify them by the corresponding name or
# containerPort in the service configuration. If both containerPort and name are specified, containerPort takes precedence.
# For be, port name can be webserver, heartbeat, brpc, be, and their default container port is 8040, 9050, 8060, 9060.
ports:[]
# e.g. specify a dedicated node port for be service by containerPort.
# - nodePort: 30040 # The range of valid ports is 30000-32767
# containerPort: 8040 # The port on the container to expose
# specify the source IP ranges for the load balancer when the type=LoadBalancer.
loadBalancerSourceRanges:[]
# - 10.0.0.0/8
# imagePullSecrets allows you to use secrets to pull images for pods.
imagePullSecrets:[]
# - name: "image-pull-secret"
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"