# Default values for victoria-metrics. # This is a YAML-formatted file. # Declare variables to be passed into your templates. global: # -- Image pull secrets, that can be shared across multiple helm charts imagePullSecrets: [] image: # -- Image registry, that can be shared across multiple helm charts registry: "" vm: # -- Image tag for all vm charts tag: "" # -- Openshift security context compatibility configuration compatibility: openshift: adaptSecurityContext: "auto" # -- k8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) cluster: dnsDomain: cluster.local. # -- Print information after deployment printNotes: true # -- use SRV discovery for storageNode and selectNode flags for enterprise version autoDiscovery: false common: # -- common for all components image configuration image: tag: "" serviceAccount: # -- Specifies whether a service account should be created create: true # -- The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: # -- Service account labels extraLabels: {} # -- Service account annotations annotations: {} # -- mount API token to pod directly automountToken: true # -- Override chart name nameOverride: "" extraSecrets: [] # - name: secret-remote-storage-keys # annotations: [] # labels: [] # data: | # credentials: b64_encoded_str # -- Add extra specs dynamically to this chart extraObjects: [] vmselect: # -- Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet enabled: true splitService: true externalService: enabled: true name: vmselect-demand-prd-proxy # -- Enable clusternative service for LoadBalancer vmselect component clusternativeService: enabled: false # -- Override default `app` label name name: "" image: # -- Image registry registry: "" # -- Image repository repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmselect # override Chart.AppVersion tag: v1.133.0-cluster # -- Image pull policy pullPolicy: IfNotPresent # -- Variant of the image to use. # e.g. cluster, enterprise-cluster variant: cluster # -- Specify pod lifecycle lifecycle: {} ports: # -- VMSelect http port name name: "http" # -- Name of Priority Class priorityClassName: "" # -- Overrides the full name of vmselect component fullnameOverride: vm-select-demand-prd # -- Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs suppressStorageFQDNsRender: false # -- Pod's termination grace period in seconds terminationGracePeriodSeconds: 60 # -- Extra command line arguments for vmselect component extraArgs: envflag.enable: true envflag.prefix: VM_ loggerFormat: json httpListenAddr: :8481 clusternativeListenAddr: ":8401" dedup.minScrapeInterval: 60s search.maxSamplesPerQuery: "1000000000000" search.maxQueryDuration: 300s search.maxQueueDuration: 60s search.maxSeries: "10000000000" search.maxExportSeries: "1000000000" search.maxUniqueTimeseries: "1000000000000" search.maxQueryLen: "1000000" loggerTimezone: "Asia/Kolkata" storageNode: - "vm-storage-demand-prd-0.vm-storage-demand-prd.victoriametrics.svc:8401" - "vm-storage-demand-prd-1.vm-storage-demand-prd.victoriametrics.svc:8401" - "vm-storage-demand-prd-2.vm-storage-demand-prd.victoriametrics.svc:8401" - "vm-storage-demand-prd-3.vm-storage-demand-prd.victoriametrics.svc:8401" - "vm-storage-demand-prd-4.vm-storage-demand-prd.victoriametrics.svc:8401" # -- StatefulSet/Deployment annotations annotations: prometheus.io/scrape: "true" prometheus.io/port: "8481" # -- StatefulSet/Deployment additional labels extraLabels: bu: "demand" team: "demand-sre" service: "vm-select-demand-prd" env: "prd" priority: "p0" type: "vmselect" # -- Pod's additional labels podLabels: bu: "demand" team: "demand-sre" service: "vm-select-demand-prd" env: "prd" priority: "p0" type: "vmselect" # -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for details. env: [] # -- Specify alternative source for env variables envFrom: [] #- configMapRef: # name: special-config # -- Readiness & Liveness probes probe: # -- VMSelect readiness probe readiness: httpGet: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 # -- VMSelect liveness probe liveness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 # -- VMSelect startup probe startup: {} horizontalPodAutoscaler: # -- Use HPA for vmselect component enabled: true # -- Maximum replicas for HPA to use to to scale the vmselect component maxReplicas: 20 # -- Minimum replicas for HPA to use to scale the vmselect component minReplicas: 7 # -- Metric for HPA to use to scale the vmselect component metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 40 # -- Behavior settings for scaling by the HPA behavior: {} # -- Additional hostPath mounts extraHostPathMounts: [] # - name: certs-dir # mountPath: /etc/kubernetes/certs # subPath: "" # hostPath: /etc/kubernetes/certs # readOnly: true # -- Extra Volumes for the pod extraVolumes: [] # - name: example # configMap: # name: example # -- Extra Volume Mounts for the container extraVolumeMounts: [] # - name: example # mountPath: /example # -- Extra containers to run in a pod with vmselect extraContainers: [] # - name: config-reloader # image: reloader-image # -- Init containers for vmselect initContainers: [] # - name: example # image: example-image # -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) podDisruptionBudget: # -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) enabled: true minAvailable: 1 # maxUnavailable: 1 labels: {} # -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: - key: "dedicated" operator: "Equal" value: "vmselect-mds" effect: "NoSchedule" # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) nodeSelector: dedicated: "vmselect-mds" # -- Pod affinity affinity: {} # -- Pod topologySpreadConstraints topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: type: vmselect - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: type: vmselect # -- Pod's annotations podAnnotations: prometheus.io/scrape: "true" prometheus.io/port: "8481" # -- Count of vmselect pods replicaCount: 2 # -- Container workdir containerWorkingDir: "" # -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) resources: # limits: # cpu: 50m # memory: 64Mi requests: cpu: 36 memory: 60Gi # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) securityContext: enabled: false # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) podSecurityContext: enabled: false # -- Cache root folder cacheMountPath: /cache service: # -- Create VMSelect service enabled: true # -- Service annotations annotations: {} # -- Service labels labels: {} # -- Service ClusterIP clusterIP: "" # -- Service external IPs. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) externalIPs: [] # -- Extra service ports extraPorts: [] # -- Service load balancer IP loadBalancerIP: "" # -- Load balancer source range loadBalancerSourceRanges: [] # -- Service port servicePort: 8481 # -- Target port targetPort: http # -- Service type type: ClusterIP # -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details healthCheckNodePort: "" # -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details externalTrafficPolicy: "" # -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details. ipFamilyPolicy: "" # -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details. ipFamilies: [] # -- Traffic Distribution. Check [Traffic distribution](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution) trafficDistribution: "" ingress: # -- Enable deployment of ingress for vmselect component enabled: false # -- Ingress annotations annotations: nginx.ingress.kubernetes.io/force-ssl-redirect: "false" nginx.ingress.kubernetes.io/ssl-redirect: "false" # -- Ingress extra labels extraLabels: {} # -- Array of host objects hosts: - name: vm-select-demand.prd.meesho.int path: / port: http # -- Array of TLS objects tls: [] # - secretName: vmselect-ingress-tls # hosts: # - vmselect.local # -- Ingress controller class name ingressClassName: contour-internal-0 # -- Ingress path type pathType: Prefix route: # -- Enable deployment of HTTPRoute for select component enabled: false # -- HTTPRoute annotations annotations: {} # -- HTTPRoute extra labels labels: {} # -- HTTPGateway objects refs parentRefs: [] # -- Array of hostnames hostnames: [] # -- Extra rules to prepend to route. This is useful when working with annotation based services. extraRules: [] # -- Filters for a default rule in HTTPRoute filters: [] # -- Matches for a default rule in HTTPRoute matches: - path: type: PathPrefix value: '{{ dig "extraArgs" "http.pathPrefix" "/select" .Values.vmselect }}' # -- vmselect mode: deployment, daemonSet mode: deployment # -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables deployment: spec: # -- VMSelect strategy strategy: {} # rollingUpdate: # maxSurge: 25% # maxUnavailable: 25% # type: RollingUpdate # -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables statefulSet: enabled: false spec: # -- Deploy order policy for StatefulSet pods podManagementPolicy: OrderedReady # -- Empty dir configuration if persistence is disabled emptyDir: {} persistentVolume: # -- Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim enabled: false # -- Override Persistent Volume Claim name name: "" # -- Array of access mode. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistent volume annotations annotations: {} # -- Persistent volume extra labels extraLabels: {} # -- Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound existingClaim: "" # -- Size of the volume. Better to set the same as resource limit memory property size: 2Gi # -- Mount subpath subPath: "" serviceMonitor: # -- Enable deployment of Service Monitor for vmselect component. This is Prometheus operator object enabled: false # -- Target namespace of ServiceMonitor manifest namespace: "" # -- Service Monitor labels extraLabels: {} # -- Service Monitor annotations annotations: {} # -- Basic auth params for Service Monitor basicAuth: {} # Commented. Prometheus scare interval for vmselect component # interval: 15s # Commented. Prometheus pre-scrape timeout for vmselect component # scrapeTimeout: 5s # -- Commented. HTTP scheme to use for scraping. # scheme: https # -- Commented. TLS configuration to use when scraping the endpoint # tlsConfig: # insecureSkipVerify: true # -- Service Monitor relabelings relabelings: [] # -- Service Monitor metricRelabelings metricRelabelings: [] vminsert: # -- Enable deployment of vminsert component. Deployment is used enabled: false vmauth: # -- Enable deployment of vmauth component. enabled: false vmstorage: # -- Enable deployment of vmstorage component. StatefulSet is used enabled: false