# -- Meesho orginazation specific fields for victoria-metrics-agent chart. custom: configFileFolderPath: "configmap" scrapeConfigFileName: "demand-scrape-secondary.yaml" # Default values for victoria-metrics-agent. # 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: "" # -- Openshift security context compatibility configuration compatibility: openshift: adaptSecurityContext: "auto" cluster: # -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) dnsDomain: cluster.local. # -- Replica count replicaCount: 2 # -- Specify pod lifecycle lifecycle: {} # -- Use an alternate scheduler, e.g. "stork". Check details [here](https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/) schedulerName: "" # -- VMAgent mode: daemonSet, deployment, statefulSet mode: deployment # -- [K8s DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) specific variables daemonSet: spec: {} # -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables deployment: spec: minReadySeconds: 1200 progressDeadlineSeconds: 1800 # -- Deployment strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy) for details strategy: {} # rollingUpdate: # maxSurge: 25% # maxUnavailable: 25% # type: RollingUpdate # -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables statefulSet: # -- create cluster of vmagents. Check [here](https://docs.victoriametrics.com/victoriametrics/vmagent/#scraping-big-number-of-targets) # available since [v1.77.2](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2) clusterMode: true # -- replication factor for vmagent in cluster mode replicationFactor: 1 spec: # -- StatefulSet update strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies) for details. updateStrategy: {} # type: RollingUpdate image: # -- Image registry registry: "" # -- Image repository repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/vmagent # -- Image tag, set to `Chart.AppVersion` by default tag: v1.133.0 # rewrites Chart.AppVersion # -- Variant of the image to use. # e.g. enterprise, scratch variant: "" # -- Image pull policy pullPolicy: IfNotPresent # -- Image pull secrets imagePullSecrets: [] # -- Add additional DNS entries to pods hosts file. Check [official documentation](https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/) hostAliases: [] # - ip: 192.168.1.1 # hostNames: # - test.example.com # - another.example.net # -- Override chart name nameOverride: "" # -- Override resources fullname fullnameOverride: "vm-agent-demand-prd-secondary" # -- Container working directory containerWorkingDir: "/" rbac: # -- Enables Role/RoleBinding creation create: true # -- Role/RoleBinding annotations annotations: {} # -- Role/RoleBinding labels extraLabels: {} # -- If true and `rbac.enabled`, will deploy a Role/RoleBinding instead of a ClusterRole/ClusterRoleBinding namespaced: false # -- additional rules for a role extraRules: [] serviceAccount: # -- Specifies whether a service account should be created create: true # -- Annotations to add to the service account annotations: { iam.gke.io/gcp-service-account: sa-dmnd-sre-vmagnt-prd-mds@meesho-demand-prd-0622.iam.gserviceaccount.com } # -- The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: # -- mount API token to pod directly automountToken: true # -- See `kubectl explain poddisruptionbudget.spec` for more or check [official documentation](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) podDisruptionBudget: enabled: false # minAvailable: 1 # maxUnavailable: 1 labels: {} # -- Generates `remoteWrite.*` flags and config maps with value content for values, that are of type list of map. # Each item should contain `url` param to pass validation. remoteWrite: - url: http://vm-insert-demand-prd.victoriametrics.svc.cluster.local:8480/insert/multitenant/prometheus/api/v1/write # urlRelabelConfig: # - action: keep # source_labels: [env] # regex: "dev" # -- VMAgent extra command line arguments extraArgs: envflag.enable: true envflag.prefix: VM_ loggerFormat: json httpListenAddr: :8429 promscrape.config.strictParse: false # default is true promscrape.maxScrapeSize: 1000000000 # default is 167772160 promscrape.minResponseSizeForStreamParse: 1000000 loggerTimezone: "Asia/Kolkata" # promscrape.suppressScrapeErrors: true # default is false # Uncomment and specify the port if you want to support any of the protocols: # https://docs.victoriametrics.com/victoriametrics/vmagent/#features # graphiteListenAddr: ":2003" # influxListenAddr: ":8189" # opentsdbHTTPListenAddr: ":4242" # opentsdbListenAddr: ":4242" # -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for more details. env: [] # - name: VM_remoteWrite_basicAuth_password # valueFrom: # secretKeyRef: # name: auth-secret # key: password # -- Specify alternative source for env variables envFrom: [] #- configMapRef: # name: special-config # -- Extra labels for Deployment and Statefulset extraLabels: bu: "demand" team: "demand-sre" service: "vm-agent-demand-prd-secondary" env: "prd" priority: "p0" type: "vmagent" # -- Extra labels for Pods only podLabels: bu: "demand" team: "demand-sre" service: "vm-agent-demand-prd-secondary" env: "prd" priority: "p0" type: "vmagent" # -- Extra selector labels common for pod and service selectorLabels: {} # -- 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 vmagent extraContainers: [] # - name: config-reloader # image: reloader-image # -- Init containers for vmagent initContainers: [] # - name: example # image: example-image # -- Security context to be added to pod podSecurityContext: enabled: true # fsGroup: 2000 # -- Security context to be added to pod's containers securityContext: enabled: true # capabilities: # drop: # - ALL # readOnlyRootFilesystem: true # runAsNonRoot: true # runAsUser: 1000 service: # -- Enable agent service enabled: true # -- Service annotations annotations: {} # -- Service labels extraLabels: {} # -- Service ClusterIP clusterIP: "" # -- Service external IPs. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) for details externalIPs: [] # -- Service load balancer IP loadBalancerIP: "" # -- Load balancer source range loadBalancerSourceRanges: [] # -- Service port servicePort: 8429 # -- Target port targetPort: http # nodePort: 30000 # -- Service type type: ClusterIP # -- 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: [] # -- 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 internal traffic policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#internal-traffic-policy) for details internalTrafficPolicy: "" # -- 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: "" # -- Traffic Distribution. Check [Traffic distribution](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution) trafficDistribution: "" # -- Extra selector labels common for service only selectorLabels: {} ingress: # -- Enable deployment of ingress for agent enabled: false # -- Ingress annotations annotations: nginx.ingress.kubernetes.io/force-ssl-redirect: "false" nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "false" # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: 'true' # -- Ingress extra labels extraLabels: {} # -- Array of host objects hosts: - name: vm-agent-demand-prd-secondary.meeshogcp.in path: - / port: http # -- Array of TLS objects tls: [] # - secretName: vmagent-ingress-tls # hosts: # - vmagent.local # -- Ingress controller class name ingressClassName: "nginx-internal" # -- Ingress path type pathType: Prefix # -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) resources: requests: cpu: 370 memory: 650Gi # -- Annotations to be added to the deployment annotations: prometheus.io/scrape: "true" prometheus.io/port: "8429" # -- Annotations to be added to pod podAnnotations: prometheus.io/scrape: "true" prometheus.io/port: "8429" # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) nodeSelector: dedicated: "vmagent-c4d" # -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: - key: "dedicated" operator: "Equal" value: "vmagent-c4d" effect: "NoSchedule" # -- Pod topologySpreadConstraints topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: ScheduleAnyway labelSelector: matchLabels: type: vmagent - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: type: vmagent # -- Pod affinity affinity: {} # -- VMAgent [scraping configuration](https://docs.victoriametrics.com/victoriametrics/vmagent/#how-to-collect-metrics-in-prometheus-format) # use existing configmap if specified # otherwise .config values will be used configMap: "vm-agent-demand-prd-secondary" # -- Priority class to be assigned to the pod(s) priorityClassName: "" # -- Enable the host network hostNetwork: false serviceMonitor: # -- Enable deployment of Service Monitor for server component. This is Prometheus operator object enabled: false # -- Service Monitor labels extraLabels: {} # -- Service Monitor annotations annotations: {} # -- Service Monitor relabelings relabelings: [] # -- Basic auth params for Service Monitor basicAuth: {} # -- Service Monitor metricRelabelings metricRelabelings: [] # -- Service Monitor targetPort targetPort: http # interval: 15s # scrapeTimeout: 5s # -- Commented. HTTP scheme to use for scraping. # scheme: https # -- Commented. TLS configuration to use when scraping the endpoint # tlsConfig: # insecureSkipVerify: true # -- Empty dir configuration for a case, when persistence is disabled emptyDir: {} persistentVolume: # -- Create/use Persistent Volume Claim for server component. Empty dir if false enabled: false # -- Override Persistent Volume Claim name name: "" # -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically storageClassName: "" # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) accessModes: - ReadWriteOnce # -- Size of the volume. Should be calculated based on the logs you send and retention policy you set. size: 10Gi # -- Persistent volume annotations annotations: {} # -- Persistent volume additional labels extraLabels: {} # -- Existing Claim name. If defined, PVC must be created manually before volume will be bound existingClaim: "" # -- Bind Persistent Volume by labels. Must match all labels of targeted PV. matchLabels: {} # -- Horizontal Pod Autoscaling. # Note that it is not intended to be used for vmagents which perform scraping. # In order to scale scraping vmagents check [here](https://docs.victoriametrics.com/victoriametrics/vmagent/#scraping-big-number-of-targets) horizontalPodAutoscaling: # -- Use HPA for vmagent enabled: false # -- Maximum replicas for HPA to use to to scale vmagent maxReplicas: 10 # -- Minimum replicas for HPA to use to scale vmagent minReplicas: 1 # -- Metric for HPA to use to scale vmagent metrics: [] # -- VMAgent scrape configuration config: {} # -- Extra scrape configs that will be appended to `config` extraScrapeConfigs: [] probe: # -- Readiness probe readiness: httpGet: {} initialDelaySeconds: 5 periodSeconds: 15 # -- Liveness probe liveness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 # -- Startup probe startup: {} # -- Add extra specs dynamically to this chart extraObjects: [] allowedMetricsEndpoints: - /metrics # -- 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: ""