charts/graphscope-store/values.yaml (261 lines of code) (raw):

# Default values for graphscope-store. # This is a YAML-formatted file. # Declare variables to be passed into your templates. ## @section Global parameters ## Global Docker image parameters ## Please, note that this will override the image parameters, including dependencies, configured to use the global value ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass ## ## @param global.imageRegistry Global Docker image registry ## @param global.imagePullSecrets Global Docker registry secret names as an array ## @param global.storageClass Global StorageClass for Persistent Volume(s) ## global: imageRegistry: "" ## E.g. ## imagePullSecrets: ## - myRegistryKeySecretName ## imagePullSecrets: [] storageClass: "" image: registry: registry.cn-hongkong.aliyuncs.com repository: graphscope/graphscope-store # Overrides the image tag whose default is the chart appVersion. tag: "0.30.0" digest: "" ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace) ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## Example: ## pullSecrets: ## - myRegistryKeySecretName ## pullSecrets: [] test: image: registry: registry.cn-hongkong.aliyuncs.com repository: graphscope/graphscope-store tag: python-3.9.9-alpine3.14-gremlin ## GraphScope Store parameters ## store: replicaCount: 1 ## GraphScope store container's resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: {} ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: ## If true, use a Persistent Volume Claim, If false, use emptyDir ## enabled: true ## Name of existing PVC to hold GraphScope store data ## @param persistence.existingClaim A manually managed Persistent Volume and Claim ## If defined, PVC must be created manually before volume will be bound ## The value is evaluated as a template ## existingClaim: "" ## Persistent Volume size ## size: 1Gi selector: {} service: adminPort: 10001 ## @param hostAliases pods host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param hostNetwork Specify if host network should be enabled for pods ## hostNetwork: false ## @param hostIPC Specify if host IPC should be enabled for pods ## hostIPC: false ## @param podLabels Extra labels for pods ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## podLabels: {} ## @param podAnnotations Extra annotations for pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## @param extraVolumes Optionally specify extra list of additional volumes for the Store pod(s) ## e.g: ## extraVolumes: ## - name: kafka-jaas ## secret: ## secretName: kafka-jaas ## extraVolumes: [] ## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Store container(s) ## extraVolumeMounts: ## - name: kafka-jaas ## mountPath: /bitnami/kafka/config/kafka_jaas.conf ## subPath: kafka_jaas.conf ## extraVolumeMounts: [] ## GraphScope Frontend parameters ## frontend: replicaCount: 1 ## GraphScope store container's resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: {} ## GraphScope frontend Service parameters ## service: ## Service type ## type: NodePort ## Service port ## servicePort: 55556 gremlinPort: 12312 cypherPort: 7687 httpPort: 8080 ## Internal port for communication between components. ## port: 55555 ## Specify the nodePort value for the LoadBalancer and NodePort service types. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## nodePorts: service: "" gremlin: "" ## Service clusterIP ## # clusterIP: None clusterIP: "" ## Set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" ## Enable client source IP preservation ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip ## externalTrafficPolicy: Cluster ## Load Balancer sources ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service ## E.g. ## loadBalancerSourceRanges: ## - 10.10.10.0/24 ## loadBalancerSourceRanges: [] ## Provide any additional annotations which may be required ## annotations: {} ## @param hostAliases pods host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param hostNetwork Specify if host network should be enabled for pods ## hostNetwork: false ## @param hostIPC Specify if host IPC should be enabled for pods ## hostIPC: false ## @param podLabels Extra labels for pods ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## podLabels: {} ## @param podAnnotations Extra annotations for pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## GraphScope Coordinator parameters ## coordinator: replicaCount: 1 ## GraphScope store container's resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: {} ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: ## If true, use a Persistent Volume Claim, If false, use emptyDir ## enabled: true ## Name of existing PVC to hold GraphScope coordinator meta ## @param persistence.existingClaim A manually managed Persistent Volume and Claim ## If defined, PVC must be created manually before volume will be bound ## The value is evaluated as a template ## existingClaim: "" ## Persistent Volume size ## size: 100Mi selector: {} ## @param hostAliases pods host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param hostNetwork Specify if host network should be enabled for pods ## hostNetwork: false ## @param hostIPC Specify if host IPC should be enabled for pods ## hostIPC: false ## @param podLabels Extra labels for pods ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## podLabels: {} ## @param podAnnotations Extra annotations for pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## GraphScope Portal parameters ## portal: enabled: false replicaCount: 1 coordinatorImage: registry: registry.cn-hongkong.aliyuncs.com repository: graphscope/coordinator tag: "0.30.0" ## Service parameters ## service: type: NodePort servicePort: 8080 ## Specify the nodePort value for the LoadBalancer and NodePort service types. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## nodePorts: service: "" ## Service clusterIP ## # clusterIP: None clusterIP: "" ## Set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" ## Enable client source IP preservation ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip ## externalTrafficPolicy: Cluster ## Load Balancer sources ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service ## E.g. ## loadBalancerSourceRanges: ## - 10.10.10.0/24 ## loadBalancerSourceRanges: [] ## Provide any additional annotations which may be required ## annotations: {} ## Request for data loading ## studioWrapperEndpoint: "" ## ## baseId is the id used for creating odps dataloading job baseId: "" ## @param hostIPC Specify if host IPC should be enabled for pods ## hostIPC: false ## @param hostNetwork Specify if host network should be enabled for pods ## hostNetwork: false ## @param hostAliases pods host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param podAnnotations Extra annotations for pods ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## @param podLabels Extra labels for pods ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ ## podLabels: {} ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## pod network plugin type ## podNetworkPluginType: flannel ## resource request and limit resources: {} ## Custom environment variables ## env: key1: value1 ## persistent storage ## runtimePath: "/var/runtime" ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: ## If true, use a Persistent Volume Claim, If false, use emptyDir ## enabled: true ## Name of existing PVC to hold portal runtime information ## @param persistence.existingClaim A manually managed Persistent Volume and Claim ## If defined, PVC must be created manually before volume will be bound ## The value is evaluated as a template ## existingClaim: "" ## Persistent Volume size ## size: 100Mi selector: {} ## @section Common parameters ## ## @param kubeVersion Override Kubernetes version ## kubeVersion: "" ## @param nameOverride String to partially override common.names.fullname ## nameOverride: "" ## @param fullnameOverride String to fully override common.names.fullname ## fullnameOverride: "" ## @param clusterDomain Default Kubernetes cluster domain ## clusterDomain: cluster.local ## @param commonLabels Labels to add to all deployed objects ## commonLabels: {} ## @param commonAnnotations Annotations to add to all deployed objects ## commonAnnotations: {} ## @param extraDeploy Array of extra objects to deploy with the release ## ## Configure extra options for containers' liveness, readiness and startup probes livenessProbe: enabled: false initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 5 successThreshold: 1 readinessProbe: enabled: true initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 5 successThreshold: 1 startupProbe: enabled: false initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 5 successThreshold: 1 command: - /etc/groot/setup.sh args: [] initContainers: [] persistence: ## @param persistence.storageClass PVC Storage Class ## If defined, storageClassName: <storageClass> ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. ## storageClass: "" accessModes: - ReadWriteOnce annotations: {} ## @param persistence.labels Labels for the PVC ## labels: {} ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod podSecurityContext: enabled: true fsGroup: 1001 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container containerSecurityContext: enabled: true runAsUser: 1001 runAsNonRoot: true # allowPrivilegeEscalation: false podAffinityPreset: "" ## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: soft ## Node affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## nodeAffinityPreset: ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## type: "" ## @param nodeAffinityPreset.key Node label key to match Ignored if `affinity` is set. ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set. ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param affinity Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param nodeSelector Node labels for pod assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param tolerations Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods ## topologySpreadConstraints: [] ## @param terminationGracePeriodSeconds Seconds the pod needs to gracefully terminate ## ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution ## terminationGracePeriodSeconds: "" ## @param podManagementPolicy StatefulSet controller supports relax its ordering guarantees while preserving its uniqueness and identity guarantees. There are two valid pod management policies: OrderedReady and Parallel ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy ## podManagementPolicy: Parallel ## @param priorityClassName Name of the existing priority class to be used by pods ## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ ## priorityClassName: "" ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies ## updateStrategy: type: RollingUpdate rollingUpdate: {} ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/ pdb: create: false minAvailable: "" maxUnavailable: 1 dnsPolicy: "" dnsConfig: {} ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ ## serviceAccount: ## @param serviceAccount.create Enable creation of ServiceAccount ## create: true ## @param serviceAccount.name The name of the service account to use. If not set and `create` is `true`, a name is generated ## If not set and create is true, a name is generated ## name: "" ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created ## Can be set to false if pods using this serviceAccount do not need to use K8s API ## automountServiceAccountToken: true ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount ## annotations: {} ## Configure GraphScope Components with a custom groot.config file ## javaOpts: "" rpcMaxBytesMb: 20 ## choose between "file" or "zookeeper" discoveryMode: "file" ## Coordinator Config snapshotIncreaseIntervalMs: 1000 offsetsPersistIntervalMs: 1000 fileMetaStorePath: "/etc/groot/my.meta" logRecycleEnable: true logRecycleOffsetReserve: 86400 ## Store Config storeDataPath: "/var/lib/graphscope-store" storeDataDownloadPath: "/var/lib/graphscope-store/download" storeDataSecondaryPath: "/home/graphscope/secondary" storeWriteThreadCount: 1 storeQueueBufferSize: "102400" storeGcIntervalMs: 5000 storeCatchupIntervalMs: 5000 ## Kafka Config ## ## Kafka chart configuration ## ## https://github.com/bitnami/charts/blob/master/bitnami/kafka/values.yaml ## kafka: enabled: true replicaCount: 1 service: ## Kafka port for client connections ## port: 9092 socketRequestMaxBytes: _1048576000 ## Zk Config zkBasePath: "/graphscope/groot" ## This value is only used when kafka.enabled is set to false ## externalKafka: ## Server or list of external kafka servers to use. ## servers: [] kafkaTopic: "graphscope" kafkaProducerCustomConfigs: "" ## Zk Config ## If set, the externalZookeeper.servers will be used to connect to the zookeeper ## If not set, the bundled zookeeper in kafka cluster will be used externalZookeeper: servers: [] zkBasePath: "/graphscope/groot" ## Frontend Config # gremlinServerPort: 12312 ## GOpt config ## To adopt a CBO planner, set graphPlannerOpt to CBO, set gremlinScriptLanguageName to antlr_gremlin_calcite, and set graphPhysicalOpt to proto. graphPlannerIsOn: true graphPlannerOpt: RBO graphPlannerRules: FilterIntoJoinRule, FilterMatchRule, ExtendIntersectRule, ExpandGetVFusionRule gremlinScriptLanguageName: antlr_gremlin_traversal graphPhysicalOpt: ffi queryExecutionTimeoutMs: 600000 graphPlannerJoinMinPatternSize: 5 graphPlannerCboGlogueSize: 3 ## Log Persistence parameters ## logPersistence: ## Enable persistence using Persistent Volume Claims. If false, use emptyDir enabled: false ## Existing PVC to hold the log data. If not provided, a new PVC will be created. existingClaim: "" ## Persistent Volume storage class storageClass: "" ## Persistent Volume access modes accessModes: - ReadWriteOnce ## Persistent Volume size size: 1Gi ## Persistent Volume annotations annotations: {} ## Persistent Volume labels selector: {} ## mountPath for the Persistent Volume mountPath: "/var/log/graphscope" ## Key-value pair separated by ; ## For example extraConfig="k1=v1;k2=v2" extraConfig: "" auth: username: "" password: "" pegasus: worker: num: 1 timeout: 240000 secondary: enabled: false storeDataPath: "./data_secondary" backup: enabled: false otel: enabled: false collector: image: registry: docker.io repository: jaegertracing/all-in-one tag: "latest" # https://opentelemetry.io/docs/languages/sdk-configuration/general/#otel_traces_sampler traces: sampler: name: "traceidratio" arg: "0.1" uptrace: enabled: false # uptrace service endpoint, could be DNS name of uptrace service # for example: "service-name.namespace", "my-uptrace.uptrace" service: "uptrace" # token is set within uptrace config token: "project2_secret_token" distributed: enabled: false collect: statistics: enabled: false initial: delay: 5 interval: 60