# 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: enabled: false vminsert: enabled: false vmauth: enabled: false vmstorage: # -- Enable deployment of vmstorage component. StatefulSet is used enabled: true # -- Override default `app` label name name: vmstorage image: # -- Image registry registry: "" # -- Image repository repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmstorage # -- Image tag tag: v1.133.0-cluster # -- Variant of the image to use. e.g. cluster, enterprise-cluster variant: cluster # -- Image pull policy pullPolicy: IfNotPresent # -- Specify pod lifecycle lifecycle: {} ports: # -- VMStorage http port name name: "http" # -- Name of Priority Class priorityClassName: "" # -- Overrides the full name of vmstorage component fullnameOverride: vm-storage-demand-prd # -- Additional environment variables (ex.: secret tokens, flags). Check https://docs.victoriametrics.com/victoriametrics/#environment-variables for details env: [] # -- Specify alternative source for env variables envFrom: [] # -- Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h. retentionPeriod: 90d # Additional vmstorage container arguments. Extra command line arguments for vmstorage component extraArgs: envflag.enable: true envflag.prefix: VM_ loggerFormat: json search.maxUniqueTimeseries: "30000000" httpListenAddr: :8482 loggerTimezone: "Asia/Kolkata" dedup.minScrapeInterval: 60s # 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 extraContainers: [] # - name: config-reloader # image: reloader-image extraSecretMounts: [] # - name: secret # mountPath: /etc/credentials # subPath: "" # readOnly: true initContainers: [] # - name: vmrestore # image: victoriametrics/vmrestore:latest # volumeMounts: # - mountPath: /storage # name: vmstorage-volume # - mountPath: /etc/vm/creds # name: secret-remote-storage-keys # readOnly: true # args: # - -storageDataPath=/storage # - -src=s3://your_bucket/folder/latest # - -credsFilePath=/etc/vm/creds/credentials # -- See `kubectl explain poddisruptionbudget.spec` for more. Ref: [https://kubernetes.io/docs/tasks/run-application/configure-pdb/](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) podDisruptionBudget: enabled: false # minAvailable: 1 # maxUnavailable: 1 labels: {} # -- Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) ## tolerations: - key: "dedicated" operator: "Equal" value: "vmstorage-n4d" effect: "NoSchedule" # -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: dedicated: "vmstorage-n4d" # -- Pod affinity affinity: {} topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: type: vmstorage - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: type: vmstorage # -- Use an alternate scheduler, e.g. "stork". Check https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ for details # schedulerName: # -- Empty dir configuration if persistence is disabled emptyDir: {} persistentVolume: # -- Create/use Persistent Volume Claim for vmstorage component. Empty dir if false. If true, vmstorage will create/use a Persistent Volume Claim enabled: true # -- Override Persistent Volume Claim name name: vmstack-storage-volume # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are https://kubernetes.io/docs/concepts/storage/persistent-volumes/ accessModes: - ReadWriteOnce # -- Persistent volume annotations annotations: {} # -- Persistent volume extra labels extraLabels: {} # -- Storage class name. Will be empty if not set storageClassName: hyperdisk-balanced # -- Existing Claim name. Requires vmstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound existingClaim: "" # -- Data root path. Vmstorage data Persistent Volume mount root path mountPath: /storage # -- Size of the volume size: 9677Gi # -- Mount subpath subPath: "" # -- Pod's annotations podAnnotations: prometheus.io/port: "8482" prometheus.io/scrape: "true" # -- StatefulSet/Deployment annotations annotations: prometheus.io/port: "8482" prometheus.io/scrape: "true" # -- StatefulSet/Deployment additional labels extraLabels: bu: "demand" team: "demand-sre" service: "vm-storage-demand-prd" env: "prd" priority: "p0" type: "vmstorage" # arch: "arm64" # runpod: "ondemand" # -- Pod's additional labels podLabels: bu: "demand" team: "demand-sre" service: "vm-storage-demand-prd" env: "prd" priority: "p0" type: "vmstorage" # -- Count of vmstorage pods replicaCount: 5 # -- Container workdir containerWorkingDir: "" # -- Deploy order policy for StatefulSet pods podManagementPolicy: OrderedReady # -- Resource object. Details are https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ resources: # limits: # cpu: 500m # memory: 512Mi requests: cpu: 85 memory: 700Gi # -- Pod's security context. Details are https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ securityContext: enabled: false # -- Pod's security context. Details are https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ podSecurityContext: enabled: false service: enabled: true # -- Service annotations annotations: {} # -- Service ClusterIP clusterIP: None # -- Service type type: ClusterIP # -- Service labels labels: {} # -- Service port servicePort: 8482 # -- Port for accepting connections from vminsert vminsertPort: 8400 # -- Port for accepting connections from vmselect vmselectPort: 8401 # -- Extra service ports extraPorts: [] # -- Health check node port for a service. Check 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 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 https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services for details ipFamilyPolicy: "" # -- List of service IP families. Check https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services for details ipFamilies: [] # -- Traffic Distribution. Check https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution trafficDistribution: "" # -- Pod's termination grace period in seconds terminationGracePeriodSeconds: 60 minReadySeconds: 5 # -- Readiness probes probe: # -- VMStorage readiness probe readiness: httpGet: path: /health port: http initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 liveness: tcpSocket: port: http initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 10 # -- VMStorage startup probe startup: {} horizontalPodAutoscaler: # -- Use HPA for vmstorage component enabled: false # -- Maximum replicas for HPA to use to to scale the vmstorage component maxReplicas: 10 # -- Minimum replicas for HPA to use to scale the vmstorage component minReplicas: 2 # -- Metric for HPA to use to scale the vmstorage component metrics: [] # -- Behavior settings for scaling by the HPA behavior: scaleDown: selectPolicy: Disabled vmbackupmanager: # -- Enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages enabled: false # -- Enterprise license key configuration for VictoriaMetrics enterprise. # Required only for VictoriaMetrics enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/), # for more information, visit [site](https://victoriametrics.com/products/enterprise/). # Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/) # Supported starting from VictoriaMetrics v1.94.0 license: # -- License key key: "" # -- Use existing secret with license key secret: # -- Existing secret name name: "" # -- Key in secret with license key key: ""