diff --git a/charts/victoria-logs-single/README.md b/charts/victoria-logs-single/README.md index 95972f3fd..77dd77379 100644 --- a/charts/victoria-logs-single/README.md +++ b/charts/victoria-logs-single/README.md @@ -111,106 +111,955 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-logs-single/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| extraObjects | list | `[]` | | -| fluent-bit.config.filters | string | `"[FILTER]\n Name kubernetes\n Match kube.*\n Merge_Log On\n Keep_Log On\n K8S-Logging.Parser On\n K8S-Logging.Exclude On\n[FILTER]\n Name nest\n Match *\n Wildcard pod_name\n Operation lift\n Nested_under kubernetes\n Add_prefix kubernetes_\n"` | | -| fluent-bit.config.outputs | string | `"[OUTPUT]\n Name http\n Match kube.*\n Host {{ include \"victoria-logs.server.fullname\" . }}\n port 9428\n compress gzip\n uri /insert/jsonline?_stream_fields=stream,kubernetes_pod_name,kubernetes_container_name,kubernetes_namespace_name&_msg_field=log&_time_field=date\n format json_lines\n json_date_format iso8601\n header AccountID 0\n header ProjectID 0\n"` | Note that Host must be replaced to match your VictoriaLogs service name Default format points to VictoriaLogs service. | -| fluent-bit.daemonSetVolumeMounts[0].mountPath | string | `"/var/log"` | | -| fluent-bit.daemonSetVolumeMounts[0].name | string | `"varlog"` | | -| fluent-bit.daemonSetVolumeMounts[1].mountPath | string | `"/var/lib/docker/containers"` | | -| fluent-bit.daemonSetVolumeMounts[1].name | string | `"varlibdockercontainers"` | | -| fluent-bit.daemonSetVolumeMounts[1].readOnly | bool | `true` | | -| fluent-bit.daemonSetVolumes[0].hostPath.path | string | `"/var/log"` | | -| fluent-bit.daemonSetVolumes[0].name | string | `"varlog"` | | -| fluent-bit.daemonSetVolumes[1].hostPath.path | string | `"/var/lib/docker/containers"` | | -| fluent-bit.daemonSetVolumes[1].name | string | `"varlibdockercontainers"` | | -| fluent-bit.enabled | bool | `false` | Enable deployment of fluent-bit | -| fluent-bit.resources | object | `{}` | | -| global.compatibility.openshift.adaptSecurityContext | string | `"auto"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| global.nameOverride | string | `""` | | -| global.victoriaLogs.server.fullnameOverride | string | `nil` | Overrides the full name of server component | -| global.victoriaLogs.server.name | string | `"server"` | Server container name | -| podDisruptionBudget.enabled | bool | `false` | 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.extraLabels | object | `{}` | | -| printNotes | bool | `true` | Print chart notes | -| server.affinity | object | `{}` | Pod affinity | -| server.containerWorkingDir | string | `""` | Container workdir | -| server.emptyDir | object | `{}` | | -| server.enabled | bool | `true` | Enable deployment of server component. Deployed as StatefulSet | -| server.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables | -| server.envFrom | list | `[]` | | -| server.extraArgs."envflag.enable" | string | `"true"` | | -| server.extraArgs."envflag.prefix" | string | `"VM_"` | | -| server.extraArgs.loggerFormat | string | `"json"` | | -| server.extraContainers | list | `[]` | | -| server.extraHostPathMounts | list | `[]` | | -| server.extraLabels | object | `{}` | Sts/Deploy additional labels | -| server.extraVolumeMounts | list | `[]` | | -| server.extraVolumes | list | `[]` | | -| server.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| server.image.registry | string | `""` | Image registry | -| server.image.repository | string | `"victoriametrics/victoria-logs"` | Image repository | -| server.image.tag | string | `""` | Image tag | -| server.image.variant | string | `"victorialogs"` | | -| server.imagePullSecrets | list | `[]` | Image pull secrets | -| server.ingress.annotations | string | `nil` | Ingress annotations | -| server.ingress.enabled | bool | `false` | Enable deployment of ingress for server component | -| server.ingress.extraLabels | object | `{}` | Ingress extra labels | -| server.ingress.hosts | list | `[]` | | -| server.ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| server.ingress.tls | list | `[]` | Array of TLS objects | -| server.initContainers | list | `[]` | | -| server.nodeSelector | object | `{}` | Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) | -| server.persistentVolume.accessModes | list | `["ReadWriteOnce"]` | Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) | -| server.persistentVolume.annotations | object | `{}` | Persistant volume annotations | -| server.persistentVolume.enabled | bool | `false` | Create/use Persistent Volume Claim for server component. Empty dir if false | -| server.persistentVolume.existingClaim | string | `""` | Existing Claim name. If defined, PVC must be created manually before volume will be bound | -| server.persistentVolume.matchLabels | object | `{}` | Bind Persistent Volume by labels. Must match all labels of targeted PV. | -| server.persistentVolume.mountPath | string | `"/storage"` | Mount path. Server data Persistent Volume mount root path. | -| server.persistentVolume.size | string | `"3Gi"` | Size of the volume. Should be calculated based on the logs you send and retention policy you set. | -| server.persistentVolume.storageClassName | string | `""` | StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically | -| server.persistentVolume.subPath | string | `""` | Mount subpath | -| server.podAnnotations | object | `{}` | Pod's annotations | -| server.podLabels | object | `{}` | Pod's additional labels | -| server.podManagementPolicy | string | `"OrderedReady"` | Pod's management policy | -| server.podSecurityContext | object | `{"enabled":true,"fsGroup":2000,"runAsNonRoot":true,"runAsUser":1000}` | Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | -| server.priorityClassName | string | `""` | Name of Priority Class | -| server.probe.liveness.failureThreshold | int | `10` | | -| server.probe.liveness.initialDelaySeconds | int | `30` | | -| server.probe.liveness.periodSeconds | int | `30` | | -| server.probe.liveness.tcpSocket | object | `{}` | | -| server.probe.liveness.timeoutSeconds | int | `5` | | -| server.probe.readiness.failureThreshold | int | `3` | | -| server.probe.readiness.httpGet | object | `{}` | | -| server.probe.readiness.initialDelaySeconds | int | `5` | | -| server.probe.readiness.periodSeconds | int | `15` | | -| server.probe.readiness.timeoutSeconds | int | `5` | | -| server.probe.startup | object | `{}` | | -| server.resources | object | `{}` | Resource object. Ref: [http://kubernetes.io/docs/user-guide/compute-resources/](http://kubernetes.io/docs/user-guide/compute-resources/ | -| server.retentionPeriod | int | `1` | Data retention period in month | -| server.securityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"enabled":true,"readOnlyRootFilesystem":true}` | Security context to be added to server pods | -| server.service.annotations | object | `{}` | Service annotations | -| server.service.clusterIP | string | `""` | Service ClusterIP | -| server.service.externalIPs | list | `[]` | Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips]( https://kubernetes.io/docs/user-guide/services/#external-ips) | -| server.service.externalTrafficPolicy | string | `""` | | -| server.service.healthCheckNodePort | string | `""` | | -| server.service.ipFamilies | list | `[]` | | -| server.service.ipFamilyPolicy | string | `""` | | -| server.service.labels | object | `{}` | Service labels | -| server.service.loadBalancerIP | string | `""` | Service load balacner IP | -| server.service.loadBalancerSourceRanges | list | `[]` | Load balancer source range | -| server.service.servicePort | int | `9428` | Service port | -| server.service.type | string | `"ClusterIP"` | Service type | -| server.serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| server.serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| server.serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for server component. This is Prometheus operator object | -| server.serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| server.serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| server.serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | -| server.statefulSet.enabled | bool | `true` | Creates statefulset instead of deployment, useful when you want to keep the cache | -| server.statefulSet.podManagementPolicy | string | `"OrderedReady"` | Deploy order policy for StatefulSet pods | -| server.terminationGracePeriodSeconds | int | `60` | Pod's termination grace period in seconds | -| server.tolerations | list | `[]` | 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/) | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
extraObjectslist
+[]
+
+
fluent-bit.config.filterstpl
+fluent-bit.config.filters: |
+  [FILTER]
+      Name kubernetes
+      Match kube.*
+      Merge_Log On
+      Keep_Log On
+      K8S-Logging.Parser On
+      K8S-Logging.Exclude On
+  [FILTER]
+      Name                nest
+      Match               *
+      Wildcard            pod_name
+      Operation lift
+      Nested_under kubernetes
+      Add_prefix   kubernetes_
+ 
+
+

FluentBit configuration filters

+
fluent-bit.config.outputstpl
+fluent-bit.config.outputs: |
+  [OUTPUT]
+      Name http
+      Match kube.*
+      Host {{ include "victoria-logs.server.fullname" . }}
+      port 9428
+      compress gzip
+      uri /insert/jsonline?_stream_fields=stream,kubernetes_pod_name,kubernetes_container_name,kubernetes_namespace_name&_msg_field=log&_time_field=date
+      format json_lines
+      json_date_format iso8601
+      header AccountID 0
+      header ProjectID 0
+ 
+
+

Note that Host must be replaced to match your VictoriaLogs service name Default format points to VictoriaLogs service.

+
fluent-bit.daemonSetVolumeMounts[0].mountPathstring
+/var/log
+
+
fluent-bit.daemonSetVolumeMounts[0].namestring
+varlog
+
+
fluent-bit.daemonSetVolumeMounts[1].mountPathstring
+/var/lib/docker/containers
+
+
fluent-bit.daemonSetVolumeMounts[1].namestring
+varlibdockercontainers
+
+
fluent-bit.daemonSetVolumeMounts[1].readOnlybool
+true
+
+
fluent-bit.daemonSetVolumes[0].hostPath.pathstring
+/var/log
+
+
fluent-bit.daemonSetVolumes[0].namestring
+varlog
+
+
fluent-bit.daemonSetVolumes[1].hostPath.pathstring
+/var/lib/docker/containers
+
+
fluent-bit.daemonSetVolumes[1].namestring
+varlibdockercontainers
+
+
fluent-bit.enabledbool
+false
+
+

Enable deployment of fluent-bit

+
fluent-bit.resourcesobject
+{}
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
global.nameOverridestring
+""
+
+
global.victoriaLogs.server.fullnameOverridestring
+null
+
+

Overrides the full name of server component

+
global.victoriaLogs.server.namestring
+server
+
+

Server container name

+
podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
podDisruptionBudget.extraLabelsobject
+{}
+
+
printNotesbool
+true
+
+

Print chart notes

+
server.affinityobject
+{}
+
+

Pod affinity

+
server.containerWorkingDirstring
+""
+
+

Container workdir

+
server.emptyDirobject
+{}
+
+
server.enabledbool
+true
+
+

Enable deployment of server component. Deployed as StatefulSet

+
server.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables

+
server.envFromlist
+[]
+
+
server.extraArgs."envflag.enable"string
+"true"
+
+
server.extraArgs."envflag.prefix"string
+VM_
+
+
server.extraArgs.loggerFormatstring
+json
+
+
server.extraContainerslist
+[]
+
+
server.extraHostPathMountslist
+[]
+
+
server.extraLabelsobject
+{}
+
+

Sts/Deploy additional labels

+
server.extraVolumeMountslist
+[]
+
+
server.extraVolumeslist
+[]
+
+
server.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
server.image.registrystring
+""
+
+

Image registry

+
server.image.repositorystring
+victoriametrics/victoria-logs
+
+

Image repository

+
server.image.tagstring
+""
+
+

Image tag

+
server.image.variantstring
+victorialogs
+
+
server.imagePullSecretslist
+[]
+
+

Image pull secrets

+
server.ingress.annotationsstring
+null
+
+

Ingress annotations

+
server.ingress.enabledbool
+false
+
+

Enable deployment of ingress for server component

+
server.ingress.extraLabelsobject
+{}
+
+

Ingress extra labels

+
server.ingress.hostslist
+[]
+
+
server.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
server.ingress.tlslist
+[]
+
+

Array of TLS objects

+
server.initContainerslist
+[]
+
+
server.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
server.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
server.persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
server.persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for server component. Empty dir if false

+
server.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
server.persistentVolume.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
server.persistentVolume.mountPathstring
+/storage
+
+

Mount path. Server data Persistent Volume mount root path.

+
server.persistentVolume.sizestring
+3Gi
+
+

Size of the volume. Should be calculated based on the logs you send and retention policy you set.

+
server.persistentVolume.storageClassNamestring
+""
+
+

StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically

+
server.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
server.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
server.podLabelsobject
+{}
+
+

Pod’s additional labels

+
server.podManagementPolicystring
+OrderedReady
+
+

Pod’s management policy

+
server.podSecurityContextobject
+enabled: true
+fsGroup: 2000
+runAsNonRoot: true
+runAsUser: 1000
+
+

Pod’s security context. Details are here

+
server.priorityClassNamestring
+""
+
+

Name of Priority Class

+
server.probe.livenessobject
+failureThreshold: 10
+initialDelaySeconds: 30
+periodSeconds: 30
+tcpSocket: {}
+timeoutSeconds: 5
+
+

Indicates whether the Container is running. If the liveness probe fails, the kubelet kills the Container, and the Container is subjected to its restart policy. If a Container does not provide a liveness probe, the default state is Success.

+
server.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

Indicates whether the Container is ready to service requests. If the readiness probe fails, the endpoints controller removes the Pod’s IP address from the endpoints of all Services that match the Pod. The default state of readiness before the initial delay is Failure. If a Container does not provide a readiness probe, the default state is Success.

+
server.probe.startupobject
+{}
+
+

Indicates whether the Container is done with potentially costly initialization. If set it is executed first. If it fails Container is restarted. If it succeeds liveness and readiness probes takes over.

+
server.resourcesobject
+{}
+
+

Resource object. Details are here

+
server.retentionPeriodint
+1
+
+

Data retention period in month

+
server.securityContextobject
+allowPrivilegeEscalation: false
+capabilities:
+    drop:
+        - ALL
+enabled: true
+readOnlyRootFilesystem: true
+
+

Security context to be added to server pods

+
server.service.annotationsobject
+{}
+
+

Service annotations

+
server.service.clusterIPstring
+""
+
+

Service ClusterIP

+
server.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
server.service.externalTrafficPolicystring
+""
+
+
server.service.healthCheckNodePortstring
+""
+
+
server.service.ipFamilieslist
+[]
+
+
server.service.ipFamilyPolicystring
+""
+
+
server.service.labelsobject
+{}
+
+

Service labels

+
server.service.loadBalancerIPstring
+""
+
+

Service load balacner IP

+
server.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
server.service.servicePortint
+9428
+
+

Service port

+
server.service.typestring
+ClusterIP
+
+

Service type

+
server.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
server.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
server.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
server.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
server.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
server.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
server.statefulSet.enabledbool
+true
+
+

Creates statefulset instead of deployment, useful when you want to keep the cache

+
server.statefulSet.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
server.terminationGracePeriodSecondsint
+60
+
+

Pod’s termination grace period in seconds

+
server.tolerationslist
+[]
+
+

Node tolerations for server scheduling to nodes with taints. Details are here

+
+ diff --git a/charts/victoria-logs-single/README.md.gotmpl b/charts/victoria-logs-single/README.md.gotmpl index f5df86177..d0fac5d09 100644 --- a/charts/victoria-logs-single/README.md.gotmpl +++ b/charts/victoria-logs-single/README.md.gotmpl @@ -111,4 +111,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-logs-single/values.yaml`` file. -{{ template "chart.valuesTable" . }} +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-logs-single/values.yaml b/charts/victoria-logs-single/values.yaml index 1ac23f908..a18f9cbdf 100644 --- a/charts/victoria-logs-single/values.yaml +++ b/charts/victoria-logs-single/values.yaml @@ -21,7 +21,7 @@ global: printNotes: true podDisruptionBudget: - # -- 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/) + # -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) enabled: false # minAvailable: 1 # maxUnavailable: 1 @@ -82,7 +82,7 @@ server: initContainers: [] - # -- 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/) + # -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: [] # - key: "key" @@ -90,7 +90,7 @@ server: # value: "value" # effect: "NoSchedule|PreferNoSchedule" - # -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: {} # -- Pod affinity @@ -118,7 +118,7 @@ server: # -- Create/use Persistent Volume Claim for server component. Empty dir if false enabled: false - # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) + # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](http://kubernetes.io/docs/user-guide/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistant volume annotations @@ -149,7 +149,7 @@ server: # -- Pod's management policy podManagementPolicy: OrderedReady - # -- Resource object. Ref: [http://kubernetes.io/docs/user-guide/compute-resources/](http://kubernetes.io/docs/user-guide/compute-resources/ + # -- Resource object. Details are [here](http://kubernetes.io/docs/user-guide/compute-resources/) resources: {} # limits: @@ -160,7 +160,7 @@ server: # memory: 512Mi probe: - # Indicates whether the Container is ready to service requests. If the readiness probe fails, the endpoints controller removes the Pod's IP address from the endpoints of all Services that match the Pod. The default state of readiness before the initial delay is Failure. If a Container does not provide a readiness probe, the default state is Success. + # -- Indicates whether the Container is ready to service requests. If the readiness probe fails, the endpoints controller removes the Pod's IP address from the endpoints of all Services that match the Pod. The default state of readiness before the initial delay is Failure. If a Container does not provide a readiness probe, the default state is Success. readiness: httpGet: {} initialDelaySeconds: 5 @@ -168,7 +168,7 @@ server: timeoutSeconds: 5 failureThreshold: 3 - # Indicates whether the Container is running. If the liveness probe fails, the kubelet kills the Container, and the Container is subjected to its restart policy. If a Container does not provide a liveness probe, the default state is Success. + # -- Indicates whether the Container is running. If the liveness probe fails, the kubelet kills the Container, and the Container is subjected to its restart policy. If a Container does not provide a liveness probe, the default state is Success. liveness: tcpSocket: {} initialDelaySeconds: 30 @@ -176,7 +176,7 @@ server: timeoutSeconds: 5 failureThreshold: 10 - # Indicates whether the Container is done with potentially costly initialization. If set it is executed first. If it fails Container is restarted. If it succeeds liveness and readiness probes takes over. + # -- Indicates whether the Container is done with potentially costly initialization. If set it is executed first. If it fails Container is restarted. If it succeeds liveness and readiness probes takes over. startup: {} # tcpSocket: {} # failureThreshold: 30 @@ -193,7 +193,7 @@ server: - ALL readOnlyRootFilesystem: true - # -- Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) podSecurityContext: enabled: true fsGroup: 2000 @@ -235,7 +235,7 @@ server: labels: {} # -- Service ClusterIP clusterIP: "" - # -- Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips]( https://kubernetes.io/docs/user-guide/services/#external-ips) + # -- Service External IPs. Details are [here]( https://kubernetes.io/docs/user-guide/services/#external-ips) externalIPs: [] # -- Service load balacner IP loadBalancerIP: "" @@ -307,6 +307,7 @@ fluent-bit: config: # -- Note that Host must be replaced to match your VictoriaLogs service name # Default format points to VictoriaLogs service. + # @notationType -- tpl outputs: | [OUTPUT] Name http @@ -319,6 +320,8 @@ fluent-bit: json_date_format iso8601 header AccountID 0 header ProjectID 0 + # -- FluentBit configuration filters + # @notationType -- tpl filters: | [FILTER] Name kubernetes diff --git a/charts/victoria-metrics-agent/README.md b/charts/victoria-metrics-agent/README.md index fbb89fea8..d9c9e42cc 100644 --- a/charts/victoria-metrics-agent/README.md +++ b/charts/victoria-metrics-agent/README.md @@ -94,289 +94,1204 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-agent/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| affinity | object | `{}` | | -| annotations | object | `{}` | | -| config.global.scrape_interval | string | `"10s"` | | -| config.scrape_configs[0].job_name | string | `"vmagent"` | | -| config.scrape_configs[0].static_configs[0].targets[0] | string | `"localhost:8429"` | | -| config.scrape_configs[1].bearer_token_file | string | `"/var/run/secrets/kubernetes.io/serviceaccount/token"` | | -| config.scrape_configs[1].job_name | string | `"kubernetes-apiservers"` | | -| config.scrape_configs[1].kubernetes_sd_configs[0].role | string | `"endpoints"` | | -| config.scrape_configs[1].relabel_configs[0].action | string | `"keep"` | | -| config.scrape_configs[1].relabel_configs[0].regex | string | `"default;kubernetes;https"` | | -| config.scrape_configs[1].relabel_configs[0].source_labels[0] | string | `"__meta_kubernetes_namespace"` | | -| config.scrape_configs[1].relabel_configs[0].source_labels[1] | string | `"__meta_kubernetes_service_name"` | | -| config.scrape_configs[1].relabel_configs[0].source_labels[2] | string | `"__meta_kubernetes_endpoint_port_name"` | | -| config.scrape_configs[1].scheme | string | `"https"` | | -| config.scrape_configs[1].tls_config.ca_file | string | `"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"` | | -| config.scrape_configs[1].tls_config.insecure_skip_verify | bool | `true` | | -| config.scrape_configs[2].bearer_token_file | string | `"/var/run/secrets/kubernetes.io/serviceaccount/token"` | | -| config.scrape_configs[2].job_name | string | `"kubernetes-nodes"` | | -| config.scrape_configs[2].kubernetes_sd_configs[0].role | string | `"node"` | | -| config.scrape_configs[2].relabel_configs[0].action | string | `"labelmap"` | | -| config.scrape_configs[2].relabel_configs[0].regex | string | `"__meta_kubernetes_node_label_(.+)"` | | -| config.scrape_configs[2].relabel_configs[1].replacement | string | `"kubernetes.default.svc:443"` | | -| config.scrape_configs[2].relabel_configs[1].target_label | string | `"__address__"` | | -| config.scrape_configs[2].relabel_configs[2].regex | string | `"(.+)"` | | -| config.scrape_configs[2].relabel_configs[2].replacement | string | `"/api/v1/nodes/$1/proxy/metrics"` | | -| config.scrape_configs[2].relabel_configs[2].source_labels[0] | string | `"__meta_kubernetes_node_name"` | | -| config.scrape_configs[2].relabel_configs[2].target_label | string | `"__metrics_path__"` | | -| config.scrape_configs[2].scheme | string | `"https"` | | -| config.scrape_configs[2].tls_config.ca_file | string | `"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"` | | -| config.scrape_configs[2].tls_config.insecure_skip_verify | bool | `true` | | -| config.scrape_configs[3].bearer_token_file | string | `"/var/run/secrets/kubernetes.io/serviceaccount/token"` | | -| config.scrape_configs[3].honor_timestamps | bool | `false` | | -| config.scrape_configs[3].job_name | string | `"kubernetes-nodes-cadvisor"` | | -| config.scrape_configs[3].kubernetes_sd_configs[0].role | string | `"node"` | | -| config.scrape_configs[3].relabel_configs[0].action | string | `"labelmap"` | | -| config.scrape_configs[3].relabel_configs[0].regex | string | `"__meta_kubernetes_node_label_(.+)"` | | -| config.scrape_configs[3].relabel_configs[1].replacement | string | `"kubernetes.default.svc:443"` | | -| config.scrape_configs[3].relabel_configs[1].target_label | string | `"__address__"` | | -| config.scrape_configs[3].relabel_configs[2].regex | string | `"(.+)"` | | -| config.scrape_configs[3].relabel_configs[2].replacement | string | `"/api/v1/nodes/$1/proxy/metrics/cadvisor"` | | -| config.scrape_configs[3].relabel_configs[2].source_labels[0] | string | `"__meta_kubernetes_node_name"` | | -| config.scrape_configs[3].relabel_configs[2].target_label | string | `"__metrics_path__"` | | -| config.scrape_configs[3].scheme | string | `"https"` | | -| config.scrape_configs[3].tls_config.ca_file | string | `"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"` | | -| config.scrape_configs[3].tls_config.insecure_skip_verify | bool | `true` | | -| config.scrape_configs[4].job_name | string | `"kubernetes-service-endpoints"` | | -| config.scrape_configs[4].kubernetes_sd_configs[0].role | string | `"endpointslices"` | | -| config.scrape_configs[4].relabel_configs[0].action | string | `"drop"` | | -| config.scrape_configs[4].relabel_configs[0].regex | bool | `true` | | -| config.scrape_configs[4].relabel_configs[0].source_labels[0] | string | `"__meta_kubernetes_pod_container_init"` | | -| config.scrape_configs[4].relabel_configs[10].source_labels[0] | string | `"__meta_kubernetes_service_name"` | | -| config.scrape_configs[4].relabel_configs[10].target_label | string | `"service"` | | -| config.scrape_configs[4].relabel_configs[11].replacement | string | `"${1}"` | | -| config.scrape_configs[4].relabel_configs[11].source_labels[0] | string | `"__meta_kubernetes_service_name"` | | -| config.scrape_configs[4].relabel_configs[11].target_label | string | `"job"` | | -| config.scrape_configs[4].relabel_configs[12].action | string | `"replace"` | | -| config.scrape_configs[4].relabel_configs[12].source_labels[0] | string | `"__meta_kubernetes_pod_node_name"` | | -| config.scrape_configs[4].relabel_configs[12].target_label | string | `"node"` | | -| config.scrape_configs[4].relabel_configs[1].action | string | `"keep_if_equal"` | | -| config.scrape_configs[4].relabel_configs[1].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_port"` | | -| config.scrape_configs[4].relabel_configs[1].source_labels[1] | string | `"__meta_kubernetes_pod_container_port_number"` | | -| config.scrape_configs[4].relabel_configs[2].action | string | `"keep"` | | -| config.scrape_configs[4].relabel_configs[2].regex | bool | `true` | | -| config.scrape_configs[4].relabel_configs[2].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_scrape"` | | -| config.scrape_configs[4].relabel_configs[3].action | string | `"replace"` | | -| config.scrape_configs[4].relabel_configs[3].regex | string | `"(https?)"` | | -| config.scrape_configs[4].relabel_configs[3].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_scheme"` | | -| config.scrape_configs[4].relabel_configs[3].target_label | string | `"__scheme__"` | | -| config.scrape_configs[4].relabel_configs[4].action | string | `"replace"` | | -| config.scrape_configs[4].relabel_configs[4].regex | string | `"(.+)"` | | -| config.scrape_configs[4].relabel_configs[4].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_path"` | | -| config.scrape_configs[4].relabel_configs[4].target_label | string | `"__metrics_path__"` | | -| config.scrape_configs[4].relabel_configs[5].action | string | `"replace"` | | -| config.scrape_configs[4].relabel_configs[5].regex | string | `"([^:]+)(?::\\d+)?;(\\d+)"` | | -| config.scrape_configs[4].relabel_configs[5].replacement | string | `"$1:$2"` | | -| config.scrape_configs[4].relabel_configs[5].source_labels[0] | string | `"__address__"` | | -| config.scrape_configs[4].relabel_configs[5].source_labels[1] | string | `"__meta_kubernetes_service_annotation_prometheus_io_port"` | | -| config.scrape_configs[4].relabel_configs[5].target_label | string | `"__address__"` | | -| config.scrape_configs[4].relabel_configs[6].action | string | `"labelmap"` | | -| config.scrape_configs[4].relabel_configs[6].regex | string | `"__meta_kubernetes_service_label_(.+)"` | | -| config.scrape_configs[4].relabel_configs[7].source_labels[0] | string | `"__meta_kubernetes_pod_name"` | | -| config.scrape_configs[4].relabel_configs[7].target_label | string | `"pod"` | | -| config.scrape_configs[4].relabel_configs[8].source_labels[0] | string | `"__meta_kubernetes_pod_container_name"` | | -| config.scrape_configs[4].relabel_configs[8].target_label | string | `"container"` | | -| config.scrape_configs[4].relabel_configs[9].source_labels[0] | string | `"__meta_kubernetes_namespace"` | | -| config.scrape_configs[4].relabel_configs[9].target_label | string | `"namespace"` | | -| config.scrape_configs[5].job_name | string | `"kubernetes-service-endpoints-slow"` | | -| config.scrape_configs[5].kubernetes_sd_configs[0].role | string | `"endpointslices"` | | -| config.scrape_configs[5].relabel_configs[0].action | string | `"drop"` | | -| config.scrape_configs[5].relabel_configs[0].regex | bool | `true` | | -| config.scrape_configs[5].relabel_configs[0].source_labels[0] | string | `"__meta_kubernetes_pod_container_init"` | | -| config.scrape_configs[5].relabel_configs[10].source_labels[0] | string | `"__meta_kubernetes_service_name"` | | -| config.scrape_configs[5].relabel_configs[10].target_label | string | `"service"` | | -| config.scrape_configs[5].relabel_configs[11].replacement | string | `"${1}"` | | -| config.scrape_configs[5].relabel_configs[11].source_labels[0] | string | `"__meta_kubernetes_service_name"` | | -| config.scrape_configs[5].relabel_configs[11].target_label | string | `"job"` | | -| config.scrape_configs[5].relabel_configs[12].action | string | `"replace"` | | -| config.scrape_configs[5].relabel_configs[12].source_labels[0] | string | `"__meta_kubernetes_pod_node_name"` | | -| config.scrape_configs[5].relabel_configs[12].target_label | string | `"node"` | | -| config.scrape_configs[5].relabel_configs[1].action | string | `"keep_if_equal"` | | -| config.scrape_configs[5].relabel_configs[1].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_port"` | | -| config.scrape_configs[5].relabel_configs[1].source_labels[1] | string | `"__meta_kubernetes_pod_container_port_number"` | | -| config.scrape_configs[5].relabel_configs[2].action | string | `"keep"` | | -| config.scrape_configs[5].relabel_configs[2].regex | bool | `true` | | -| config.scrape_configs[5].relabel_configs[2].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_scrape_slow"` | | -| config.scrape_configs[5].relabel_configs[3].action | string | `"replace"` | | -| config.scrape_configs[5].relabel_configs[3].regex | string | `"(https?)"` | | -| config.scrape_configs[5].relabel_configs[3].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_scheme"` | | -| config.scrape_configs[5].relabel_configs[3].target_label | string | `"__scheme__"` | | -| config.scrape_configs[5].relabel_configs[4].action | string | `"replace"` | | -| config.scrape_configs[5].relabel_configs[4].regex | string | `"(.+)"` | | -| config.scrape_configs[5].relabel_configs[4].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_path"` | | -| config.scrape_configs[5].relabel_configs[4].target_label | string | `"__metrics_path__"` | | -| config.scrape_configs[5].relabel_configs[5].action | string | `"replace"` | | -| config.scrape_configs[5].relabel_configs[5].regex | string | `"([^:]+)(?::\\d+)?;(\\d+)"` | | -| config.scrape_configs[5].relabel_configs[5].replacement | string | `"$1:$2"` | | -| config.scrape_configs[5].relabel_configs[5].source_labels[0] | string | `"__address__"` | | -| config.scrape_configs[5].relabel_configs[5].source_labels[1] | string | `"__meta_kubernetes_service_annotation_prometheus_io_port"` | | -| config.scrape_configs[5].relabel_configs[5].target_label | string | `"__address__"` | | -| config.scrape_configs[5].relabel_configs[6].action | string | `"labelmap"` | | -| config.scrape_configs[5].relabel_configs[6].regex | string | `"__meta_kubernetes_service_label_(.+)"` | | -| config.scrape_configs[5].relabel_configs[7].source_labels[0] | string | `"__meta_kubernetes_pod_name"` | | -| config.scrape_configs[5].relabel_configs[7].target_label | string | `"pod"` | | -| config.scrape_configs[5].relabel_configs[8].source_labels[0] | string | `"__meta_kubernetes_pod_container_name"` | | -| config.scrape_configs[5].relabel_configs[8].target_label | string | `"container"` | | -| config.scrape_configs[5].relabel_configs[9].source_labels[0] | string | `"__meta_kubernetes_namespace"` | | -| config.scrape_configs[5].relabel_configs[9].target_label | string | `"namespace"` | | -| config.scrape_configs[5].scrape_interval | string | `"5m"` | | -| config.scrape_configs[5].scrape_timeout | string | `"30s"` | | -| config.scrape_configs[6].job_name | string | `"kubernetes-services"` | | -| config.scrape_configs[6].kubernetes_sd_configs[0].role | string | `"service"` | | -| config.scrape_configs[6].metrics_path | string | `"/probe"` | | -| config.scrape_configs[6].params.module[0] | string | `"http_2xx"` | | -| config.scrape_configs[6].relabel_configs[0].action | string | `"keep"` | | -| config.scrape_configs[6].relabel_configs[0].regex | bool | `true` | | -| config.scrape_configs[6].relabel_configs[0].source_labels[0] | string | `"__meta_kubernetes_service_annotation_prometheus_io_probe"` | | -| config.scrape_configs[6].relabel_configs[1].source_labels[0] | string | `"__address__"` | | -| config.scrape_configs[6].relabel_configs[1].target_label | string | `"__param_target"` | | -| config.scrape_configs[6].relabel_configs[2].replacement | string | `"blackbox"` | | -| config.scrape_configs[6].relabel_configs[2].target_label | string | `"__address__"` | | -| config.scrape_configs[6].relabel_configs[3].source_labels[0] | string | `"__param_target"` | | -| config.scrape_configs[6].relabel_configs[3].target_label | string | `"instance"` | | -| config.scrape_configs[6].relabel_configs[4].action | string | `"labelmap"` | | -| config.scrape_configs[6].relabel_configs[4].regex | string | `"__meta_kubernetes_service_label_(.+)"` | | -| config.scrape_configs[6].relabel_configs[5].source_labels[0] | string | `"__meta_kubernetes_namespace"` | | -| config.scrape_configs[6].relabel_configs[5].target_label | string | `"namespace"` | | -| config.scrape_configs[6].relabel_configs[6].source_labels[0] | string | `"__meta_kubernetes_service_name"` | | -| config.scrape_configs[6].relabel_configs[6].target_label | string | `"service"` | | -| config.scrape_configs[7].job_name | string | `"kubernetes-pods"` | | -| config.scrape_configs[7].kubernetes_sd_configs[0].role | string | `"pod"` | | -| config.scrape_configs[7].relabel_configs[0].action | string | `"drop"` | | -| config.scrape_configs[7].relabel_configs[0].regex | bool | `true` | | -| config.scrape_configs[7].relabel_configs[0].source_labels[0] | string | `"__meta_kubernetes_pod_container_init"` | | -| config.scrape_configs[7].relabel_configs[1].action | string | `"keep_if_equal"` | | -| config.scrape_configs[7].relabel_configs[1].source_labels[0] | string | `"__meta_kubernetes_pod_annotation_prometheus_io_port"` | | -| config.scrape_configs[7].relabel_configs[1].source_labels[1] | string | `"__meta_kubernetes_pod_container_port_number"` | | -| config.scrape_configs[7].relabel_configs[2].action | string | `"keep"` | | -| config.scrape_configs[7].relabel_configs[2].regex | bool | `true` | | -| config.scrape_configs[7].relabel_configs[2].source_labels[0] | string | `"__meta_kubernetes_pod_annotation_prometheus_io_scrape"` | | -| config.scrape_configs[7].relabel_configs[3].action | string | `"replace"` | | -| config.scrape_configs[7].relabel_configs[3].regex | string | `"(.+)"` | | -| config.scrape_configs[7].relabel_configs[3].source_labels[0] | string | `"__meta_kubernetes_pod_annotation_prometheus_io_path"` | | -| config.scrape_configs[7].relabel_configs[3].target_label | string | `"__metrics_path__"` | | -| config.scrape_configs[7].relabel_configs[4].action | string | `"replace"` | | -| config.scrape_configs[7].relabel_configs[4].regex | string | `"([^:]+)(?::\\d+)?;(\\d+)"` | | -| config.scrape_configs[7].relabel_configs[4].replacement | string | `"$1:$2"` | | -| config.scrape_configs[7].relabel_configs[4].source_labels[0] | string | `"__address__"` | | -| config.scrape_configs[7].relabel_configs[4].source_labels[1] | string | `"__meta_kubernetes_pod_annotation_prometheus_io_port"` | | -| config.scrape_configs[7].relabel_configs[4].target_label | string | `"__address__"` | | -| config.scrape_configs[7].relabel_configs[5].action | string | `"labelmap"` | | -| config.scrape_configs[7].relabel_configs[5].regex | string | `"__meta_kubernetes_pod_label_(.+)"` | | -| config.scrape_configs[7].relabel_configs[6].source_labels[0] | string | `"__meta_kubernetes_pod_name"` | | -| config.scrape_configs[7].relabel_configs[6].target_label | string | `"pod"` | | -| config.scrape_configs[7].relabel_configs[7].source_labels[0] | string | `"__meta_kubernetes_pod_container_name"` | | -| config.scrape_configs[7].relabel_configs[7].target_label | string | `"container"` | | -| config.scrape_configs[7].relabel_configs[8].source_labels[0] | string | `"__meta_kubernetes_namespace"` | | -| config.scrape_configs[7].relabel_configs[8].target_label | string | `"namespace"` | | -| config.scrape_configs[7].relabel_configs[9].action | string | `"replace"` | | -| config.scrape_configs[7].relabel_configs[9].source_labels[0] | string | `"__meta_kubernetes_pod_node_name"` | | -| config.scrape_configs[7].relabel_configs[9].target_label | string | `"node"` | | -| configMap | string | `""` | | -| containerWorkingDir | string | `"/"` | | -| deployment.enabled | bool | `true` | | -| deployment.strategy | object | `{}` | | -| emptyDir | object | `{}` | | -| env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| envFrom | list | `[]` | | -| extraArgs."envflag.enable" | string | `"true"` | | -| extraArgs."envflag.prefix" | string | `"VM_"` | | -| extraArgs.loggerFormat | string | `"json"` | | -| extraContainers | list | `[]` | | -| extraHostPathMounts | list | `[]` | | -| extraLabels | object | `{}` | | -| extraObjects | list | `[]` | | -| extraScrapeConfigs | list | `[]` | Extra scrape configs that will be appended to `config` | -| extraVolumeMounts | list | `[]` | | -| extraVolumes | list | `[]` | | -| fullnameOverride | string | `""` | | -| global.compatibility.openshift.adaptSecurityContext | string | `"auto"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| horizontalPodAutoscaling | object | `{"enabled":false,"maxReplicas":10,"metrics":[],"minReplicas":1}` | Horizontal Pod Autoscaling. Note that it is not intended to be used for vmagents which perform scraping. In order to scale scraping vmagents see: https://docs.victoriametrics.com/vmagent/#scraping-big-number-of-targets | -| horizontalPodAutoscaling.enabled | bool | `false` | Use HPA for vmagent | -| horizontalPodAutoscaling.maxReplicas | int | `10` | Maximum replicas for HPA to use to to scale vmagent | -| horizontalPodAutoscaling.metrics | list | `[]` | Metric for HPA to use to scale vmagent | -| horizontalPodAutoscaling.minReplicas | int | `1` | Minimum replicas for HPA to use to scale vmagent | -| image.pullPolicy | string | `"IfNotPresent"` | | -| image.registry | string | `""` | | -| image.repository | string | `"victoriametrics/vmagent"` | | -| image.tag | string | `""` | | -| image.variant | string | `""` | | -| imagePullSecrets | list | `[]` | | -| ingress.annotations | object | `{}` | | -| ingress.enabled | bool | `false` | | -| ingress.extraLabels | object | `{}` | | -| ingress.hosts | list | `[]` | | -| ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| ingress.tls | list | `[]` | | -| initContainers | list | `[]` | | -| license | object | `{"key":"","secret":{"key":"","name":""}}` | Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0 | -| license.key | string | `""` | License key | -| license.secret | object | `{"key":"","name":""}` | Use existing secret with license key | -| license.secret.key | string | `""` | Key in secret with license key | -| license.secret.name | string | `""` | Existing secret name | -| multiTenantUrls | list | `[]` | | -| nameOverride | string | `""` | | -| nodeSelector | object | `{}` | | -| persistence.accessModes[0] | string | `"ReadWriteOnce"` | | -| persistence.annotations | object | `{}` | | -| persistence.enabled | bool | `false` | | -| persistence.existingClaim | string | `""` | | -| persistence.extraLabels | object | `{}` | | -| persistence.matchLabels | object | `{}` | Bind Persistent Volume by labels. Must match all labels of targeted PV. | -| persistence.size | string | `"10Gi"` | | -| podAnnotations | object | `{}` | | -| podDisruptionBudget.enabled | bool | `false` | | -| podDisruptionBudget.labels | object | `{}` | | -| podLabels | object | `{}` | | -| podSecurityContext.enabled | bool | `true` | | -| priorityClassName | string | `""` | priority class to be assigned to the pod(s) | -| probe.liveness.initialDelaySeconds | int | `5` | | -| probe.liveness.periodSeconds | int | `15` | | -| probe.liveness.tcpSocket | object | `{}` | | -| probe.liveness.timeoutSeconds | int | `5` | | -| probe.readiness.httpGet | object | `{}` | | -| probe.readiness.initialDelaySeconds | int | `5` | | -| probe.readiness.periodSeconds | int | `15` | | -| probe.startup | object | `{}` | | -| rbac.annotations | object | `{}` | | -| rbac.create | bool | `true` | | -| rbac.extraLabels | object | `{}` | | -| rbac.namespaced | bool | `false` | if true and `rbac.enabled`, will deploy a Role/Rolebinding instead of a ClusterRole/ClusterRoleBinding | -| remoteWriteUrls | list | `[]` | | -| replicaCount | int | `1` | | -| resources | object | `{}` | | -| securityContext.enabled | bool | `true` | | -| service.annotations | object | `{}` | | -| service.clusterIP | string | `""` | | -| service.enabled | bool | `false` | | -| service.externalIPs | list | `[]` | | -| service.externalTrafficPolicy | string | `""` | | -| service.extraLabels | object | `{}` | | -| service.healthCheckNodePort | string | `""` | | -| service.ipFamilies | list | `[]` | | -| service.ipFamilyPolicy | string | `""` | | -| service.loadBalancerIP | string | `""` | | -| service.loadBalancerSourceRanges | list | `[]` | | -| service.servicePort | int | `8429` | | -| service.type | string | `"ClusterIP"` | | -| serviceAccount.annotations | object | `{}` | | -| serviceAccount.create | bool | `true` | | -| serviceAccount.name | string | `nil` | | -| serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for server component. This is Prometheus operator object | -| serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | -| statefulset.clusterMode | bool | `false` | create cluster of vmagents. See https://docs.victoriametrics.com/vmagent#scraping-big-number-of-targets available since 1.77.2 version https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2 | -| statefulset.enabled | bool | `false` | | -| statefulset.replicationFactor | int | `1` | replication factor for vmagent in cluster mode | -| statefulset.updateStrategy | object | `{}` | | -| tolerations | list | `[]` | | -| topologySpreadConstraints | list | `[]` | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+
annotationsobject
+{}
+
+
config.global.scrape_intervalstring
+10s
+
+
config.scrape_configslist
+- job_name: vmagent
+  static_configs:
+    - targets:
+        - localhost:8429
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-apiservers
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: keep
+      regex: default;kubernetes;https
+      source_labels:
+        - __meta_kubernetes_namespace
+        - __meta_kubernetes_service_name
+        - __meta_kubernetes_endpoint_port_name
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-nodes
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  honor_timestamps: false
+  job_name: kubernetes-nodes-cadvisor
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- job_name: kubernetes-service-endpoints
+  kubernetes_sd_configs:
+    - role: endpointslices
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+    - source_labels:
+        - __meta_kubernetes_pod_container_name
+      target_label: container
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - replacement: ${1}
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: job
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+- job_name: kubernetes-service-endpoints-slow
+  kubernetes_sd_configs:
+    - role: endpointslices
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+    - source_labels:
+        - __meta_kubernetes_pod_container_name
+      target_label: container
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - replacement: ${1}
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: job
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+  scrape_interval: 5m
+  scrape_timeout: 30s
+- job_name: kubernetes-services
+  kubernetes_sd_configs:
+    - role: service
+  metrics_path: /probe
+  params:
+    module:
+        - http_2xx
+  relabel_configs:
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_probe
+    - source_labels:
+        - __address__
+      target_label: __param_target
+    - replacement: blackbox
+      target_label: __address__
+    - source_labels:
+        - __param_target
+      target_label: instance
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+- job_name: kubernetes-pods
+  kubernetes_sd_configs:
+    - role: pod
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_pod_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+    - source_labels:
+        - __meta_kubernetes_pod_container_name
+      target_label: container
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+
+

scrape configuration. scrape self by default

+
configMapstring
+""
+
+
containerWorkingDirstring
+/
+
+
deployment.enabledbool
+true
+
+
deployment.strategyobject
+{}
+
+
emptyDirobject
+{}
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
envFromlist
+[]
+
+
extraArgsobject
+envflag.enable: "true"
+envflag.prefix: VM_
+loggerFormat: json
+
+

vmagent extra command line arguments

+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+
extraLabelsobject
+{}
+
+
extraObjectslist
+[]
+
+
extraScrapeConfigslist
+[]
+
+

Extra scrape configs that will be appended to config

+
extraVolumeMountslist
+[]
+
+
extraVolumeslist
+[]
+
+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
horizontalPodAutoscalingobject
+enabled: false
+maxReplicas: 10
+metrics: []
+minReplicas: 1
+
+

Horizontal Pod Autoscaling. Note that it is not intended to be used for vmagents which perform scraping. In order to scale scraping vmagents see: https://docs.victoriametrics.com/vmagent/#scraping-big-number-of-targets

+
horizontalPodAutoscaling.enabledbool
+false
+
+

Use HPA for vmagent

+
horizontalPodAutoscaling.maxReplicasint
+10
+
+

Maximum replicas for HPA to use to to scale vmagent

+
horizontalPodAutoscaling.metricslist
+[]
+
+

Metric for HPA to use to scale vmagent

+
horizontalPodAutoscaling.minReplicasint
+1
+
+

Minimum replicas for HPA to use to scale vmagent

+
image.pullPolicystring
+IfNotPresent
+
+
image.registrystring
+""
+
+
image.repositorystring
+victoriametrics/vmagent
+
+
image.tagstring
+""
+
+
image.variantstring
+""
+
+
imagePullSecretslist
+[]
+
+
ingress.annotationsobject
+{}
+
+
ingress.enabledbool
+false
+
+
ingress.extraLabelsobject
+{}
+
+
ingress.hostslist
+[]
+
+
ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingress.tlslist
+[]
+
+
initContainerslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
multiTenantUrlslist
+[]
+
+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+
persistence.accessModes[0]string
+ReadWriteOnce
+
+
persistence.annotationsobject
+{}
+
+
persistence.enabledbool
+false
+
+
persistence.existingClaimstring
+""
+
+
persistence.extraLabelsobject
+{}
+
+
persistence.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
persistence.sizestring
+10Gi
+
+
podAnnotationsobject
+{}
+
+
podDisruptionBudget.enabledbool
+false
+
+
podDisruptionBudget.labelsobject
+{}
+
+
podLabelsobject
+{}
+
+
podSecurityContext.enabledbool
+true
+
+
priorityClassNamestring
+""
+
+

priority class to be assigned to the pod(s)

+
probe.livenessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
probe.readinessobject
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+
+

readiness probe

+
probe.startupobject
+{}
+
+

startup probe

+
rbac.annotationsobject
+{}
+
+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+

if true and rbac.enabled, will deploy a Role/Rolebinding instead of a ClusterRole/ClusterRoleBinding

+
remoteWriteUrlslist
+[]
+
+
replicaCountint
+1
+
+
resourcesobject
+{}
+
+
securityContext.enabledbool
+true
+
+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.enabledbool
+false
+
+
service.externalIPslist
+[]
+
+
service.externalTrafficPolicystring
+""
+
+
service.extraLabelsobject
+{}
+
+
service.healthCheckNodePortstring
+""
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.servicePortint
+8429
+
+
service.typestring
+ClusterIP
+
+
serviceAccount.annotationsobject
+{}
+
+
serviceAccount.createbool
+true
+
+
serviceAccount.namestring
+null
+
+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
statefulset.clusterModebool
+false
+
+

create cluster of vmagents. See https://docs.victoriametrics.com/vmagent#scraping-big-number-of-targets available since 1.77.2 version https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.77.2

+
statefulset.enabledbool
+false
+
+
statefulset.replicationFactorint
+1
+
+

replication factor for vmagent in cluster mode

+
statefulset.updateStrategyobject
+{}
+
+
tolerationslist
+[]
+
+
topologySpreadConstraintslist
+[]
+
+
+ diff --git a/charts/victoria-metrics-agent/README.md.gotmpl b/charts/victoria-metrics-agent/README.md.gotmpl index 1ff4d25c8..dabde8ab5 100644 --- a/charts/victoria-metrics-agent/README.md.gotmpl +++ b/charts/victoria-metrics-agent/README.md.gotmpl @@ -94,4 +94,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-agent/values.yaml`` file. -{{ template "chart.valuesTable" . }} +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-agent/values.yaml b/charts/victoria-metrics-agent/values.yaml index 81657a8e7..ed7995e4f 100644 --- a/charts/victoria-metrics-agent/values.yaml +++ b/charts/victoria-metrics-agent/values.yaml @@ -21,7 +21,7 @@ deployment: # maxUnavailable: 25% # type: RollingUpdate -# ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ +# ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/ statefulset: enabled: false # -- create cluster of vmagents. See https://docs.victoriametrics.com/vmagent#scraping-big-number-of-targets @@ -84,6 +84,7 @@ multiTenantUrls: [] # - http://vm-insert-az1:8480 # - http://vm-insert-az2:8480 +# -- vmagent extra command line arguments extraArgs: envflag.enable: "true" envflag.prefix: VM_ @@ -290,7 +291,7 @@ config: global: scrape_interval: 10s - # scrape self by default + # -- scrape configuration. scrape self by default scrape_configs: - job_name: vmagent static_configs: @@ -420,6 +421,7 @@ config: # * `prometheus.io/path`: If the metrics path is not `/metrics` override this. # * `prometheus.io/port`: If the metrics are exposed on a different port to the # service then set this appropriately. + # - job_name: "kubernetes-service-endpoints" kubernetes_sd_configs: - role: endpointslices @@ -480,6 +482,7 @@ config: # * `prometheus.io/path`: If the metrics path is not `/metrics` override this. # * `prometheus.io/port`: If the metrics are exposed on a different port to the # service then set this appropriately. + # - job_name: "kubernetes-service-endpoints-slow" scrape_interval: 5m scrape_timeout: 30s @@ -536,6 +539,7 @@ config: # via the following annotations: # # * `prometheus.io/probe`: Only probe services that have a value of `true` + # - job_name: "kubernetes-services" metrics_path: /probe params: @@ -567,6 +571,7 @@ config: # * `prometheus.io/scrape`: Only scrape pods that have a value of `true` # * `prometheus.io/path`: If the metrics path is not `/metrics` override this. # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`. + # - job_name: "kubernetes-pods" kubernetes_sd_configs: - role: pod @@ -606,15 +611,18 @@ 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 diff --git a/charts/victoria-metrics-alert/README.md b/charts/victoria-metrics-alert/README.md index 55dce25c9..92da68c52 100644 --- a/charts/victoria-metrics-alert/README.md +++ b/charts/victoria-metrics-alert/README.md @@ -101,183 +101,1554 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-alert/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| alertmanager.baseURL | string | `""` | | -| alertmanager.baseURLPrefix | string | `""` | | -| alertmanager.config.global.resolve_timeout | string | `"5m"` | | -| alertmanager.config.receivers[0].name | string | `"devnull"` | | -| alertmanager.config.route.group_by[0] | string | `"alertname"` | | -| alertmanager.config.route.group_interval | string | `"10s"` | | -| alertmanager.config.route.group_wait | string | `"30s"` | | -| alertmanager.config.route.receiver | string | `"devnull"` | | -| alertmanager.config.route.repeat_interval | string | `"24h"` | | -| alertmanager.configMap | string | `""` | | -| alertmanager.emptyDir | object | `{}` | | -| alertmanager.enabled | bool | `false` | | -| alertmanager.envFrom | list | `[]` | | -| alertmanager.extraArgs | object | `{}` | | -| alertmanager.extraContainers | list | `[]` | | -| alertmanager.extraHostPathMounts | list | `[]` | | -| alertmanager.extraVolumeMounts | list | `[]` | | -| alertmanager.extraVolumes | list | `[]` | | -| alertmanager.image.registry | string | `""` | | -| alertmanager.image.repository | string | `"prom/alertmanager"` | | -| alertmanager.image.tag | string | `"v0.25.0"` | | -| alertmanager.imagePullSecrets | list | `[]` | | -| alertmanager.ingress.annotations | object | `{}` | | -| alertmanager.ingress.enabled | bool | `false` | | -| alertmanager.ingress.extraLabels | object | `{}` | | -| alertmanager.ingress.hosts | list | `[]` | | -| alertmanager.ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| alertmanager.ingress.tls | list | `[]` | | -| alertmanager.listenAddress | string | `"0.0.0.0:9093"` | | -| alertmanager.nodeSelector | object | `{}` | | -| alertmanager.persistentVolume.accessModes | list | `["ReadWriteOnce"]` | Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) | -| alertmanager.persistentVolume.annotations | object | `{}` | Persistant volume annotations | -| alertmanager.persistentVolume.enabled | bool | `false` | Create/use Persistent Volume Claim for alertmanager component. Empty dir if false | -| alertmanager.persistentVolume.existingClaim | string | `""` | Existing Claim name. If defined, PVC must be created manually before volume will be bound | -| alertmanager.persistentVolume.mountPath | string | `"/data"` | Mount path. Alertmanager data Persistent Volume mount root path. | -| alertmanager.persistentVolume.size | string | `"50Mi"` | Size of the volume. Better to set the same as resource limit memory property. | -| alertmanager.persistentVolume.storageClassName | string | `""` | StorageClass to use for persistent volume. Requires alertmanager.persistentVolume.enabled: true. If defined, PVC created automatically | -| alertmanager.persistentVolume.subPath | string | `""` | Mount subpath | -| alertmanager.podMetadata.annotations | object | `{}` | | -| alertmanager.podMetadata.labels | object | `{}` | | -| alertmanager.podSecurityContext.enabled | bool | `false` | | -| alertmanager.priorityClassName | string | `""` | | -| alertmanager.probe.liveness.httpGet.path | string | `"{{ ternary \"\" .baseURLPrefix (empty .baseURLPrefix) }}/-/healthy"` | | -| alertmanager.probe.liveness.httpGet.port | string | `"web"` | | -| alertmanager.probe.readiness.httpGet.path | string | `"{{ ternary \"\" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready"` | | -| alertmanager.probe.readiness.httpGet.port | string | `"web"` | | -| alertmanager.probe.startup.httpGet.path | string | `"{{ ternary \"\" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready"` | | -| alertmanager.probe.startup.httpGet.port | string | `"web"` | | -| alertmanager.resources | object | `{}` | | -| alertmanager.retention | string | `"120h"` | | -| alertmanager.securityContext.enabled | bool | `false` | | -| alertmanager.service.annotations | object | `{}` | | -| alertmanager.service.clusterIP | string | `""` | | -| alertmanager.service.externalIPs | list | `[]` | Ref: https://kubernetes.io/docs/user-guide/services/#external-ips | -| alertmanager.service.externalTrafficPolicy | string | `""` | Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip | -| alertmanager.service.healthCheckNodePort | string | `""` | | -| alertmanager.service.ipFamilies | list | `[]` | | -| alertmanager.service.ipFamilyPolicy | string | `""` | | -| alertmanager.service.labels | object | `{}` | | -| alertmanager.service.loadBalancerIP | string | `""` | | -| alertmanager.service.loadBalancerSourceRanges | list | `[]` | | -| alertmanager.service.nodePort | string | `""` | if you want to force a specific nodePort. Must be use with service.type=NodePort | -| alertmanager.service.port | int | `9093` | | -| alertmanager.service.servicePort | int | `8880` | | -| alertmanager.service.type | string | `"ClusterIP"` | | -| alertmanager.templates | object | `{}` | | -| alertmanager.tolerations | list | `[]` | | -| extraObjects | list | `[]` | Add extra specs dynamically to this chart | -| global.compatibility.openshift.adaptSecurityContext | string | `"auto"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| license | object | `{"key":"","secret":{"key":"","name":""}}` | Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0 | -| license.key | string | `""` | License key | -| license.secret | object | `{"key":"","name":""}` | Use existing secret with license key | -| license.secret.key | string | `""` | Key in secret with license key | -| license.secret.name | string | `""` | Existing secret name | -| rbac.annotations | object | `{}` | | -| rbac.create | bool | `true` | | -| rbac.extraLabels | object | `{}` | | -| rbac.namespaced | bool | `false` | | -| server.affinity | object | `{}` | | -| server.annotations | object | `{}` | | -| server.config.alerts.groups | list | `[]` | | -| server.configMap | string | `""` | | -| server.datasource.basicAuth | object | `{"password":"","username":""}` | Basic auth for datasource | -| server.datasource.bearer.token | string | `""` | Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string | -| server.datasource.bearer.tokenFile | string | `""` | Token Auth file with Bearer token. You can use one of token or tokenFile | -| server.datasource.url | string | `""` | | -| server.enabled | bool | `true` | | -| server.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| server.envFrom | list | `[]` | | -| server.extraArgs."envflag.enable" | string | `"true"` | | -| server.extraArgs."envflag.prefix" | string | `"VM_"` | | -| server.extraArgs.loggerFormat | string | `"json"` | | -| server.extraContainers | list | `[]` | Additional containers to run in the same pod | -| server.extraHostPathMounts | list | `[]` | Additional hostPath mounts | -| server.extraVolumeMounts | list | `[]` | Extra Volume Mounts for the container | -| server.extraVolumes | list | `[]` | Extra Volumes for the pod | -| server.fullnameOverride | string | `""` | | -| server.image.pullPolicy | string | `"IfNotPresent"` | | -| server.image.registry | string | `""` | | -| server.image.repository | string | `"victoriametrics/vmalert"` | | -| server.image.tag | string | `""` | | -| server.image.variant | string | `""` | | -| server.imagePullSecrets | list | `[]` | | -| server.ingress.annotations | object | `{}` | | -| server.ingress.enabled | bool | `false` | | -| server.ingress.extraLabels | object | `{}` | | -| server.ingress.hosts | list | `[]` | | -| server.ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| server.ingress.tls | list | `[]` | | -| server.labels | object | `{}` | | -| server.minReadySeconds | int | `0` | | -| server.name | string | `"server"` | | -| server.nameOverride | string | `""` | | -| server.nodeSelector | object | `{}` | | -| server.notifier | object | `{"alertmanager":{"basicAuth":{"password":"","username":""},"bearer":{"token":"","tokenFile":""},"url":""}}` | Notifier to use for alerts. Multiple notifiers can be enabled by using `notifiers` section | -| server.notifier.alertmanager.basicAuth | object | `{"password":"","username":""}` | Basic auth for alertmanager | -| server.notifier.alertmanager.bearer.token | string | `""` | Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string | -| server.notifier.alertmanager.bearer.tokenFile | string | `""` | Token Auth file with Bearer token. You can use one of token or tokenFile | -| server.notifiers | list | `[]` | Additional notifiers to use for alerts | -| server.podAnnotations | object | `{}` | | -| server.podDisruptionBudget.enabled | bool | `false` | | -| server.podDisruptionBudget.labels | object | `{}` | | -| server.podLabels | object | `{}` | | -| server.podSecurityContext.enabled | bool | `true` | | -| server.priorityClassName | string | `""` | | -| server.probe.liveness.failureThreshold | int | `3` | | -| server.probe.liveness.initialDelaySeconds | int | `5` | | -| server.probe.liveness.periodSeconds | int | `15` | | -| server.probe.liveness.tcpSocket | object | `{}` | | -| server.probe.liveness.timeoutSeconds | int | `5` | | -| server.probe.readiness.failureThreshold | int | `3` | | -| server.probe.readiness.httpGet | object | `{}` | | -| server.probe.readiness.initialDelaySeconds | int | `5` | | -| server.probe.readiness.periodSeconds | int | `15` | | -| server.probe.readiness.timeoutSeconds | int | `5` | | -| server.probe.startup | object | `{}` | | -| server.remote.read.basicAuth | object | `{"password":"","username":""}` | Basic auth for remote read | -| server.remote.read.bearer.token | string | `""` | Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string | -| server.remote.read.bearer.tokenFile | string | `""` | Token Auth file with Bearer token. You can use one of token or tokenFile | -| server.remote.read.url | string | `""` | | -| server.remote.write.basicAuth | object | `{"password":"","username":""}` | Basic auth for remote write | -| server.remote.write.bearer | object | `{"token":"","tokenFile":""}` | Auth based on Bearer token for remote write | -| server.remote.write.bearer.token | string | `""` | Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string | -| server.remote.write.bearer.tokenFile | string | `""` | Token Auth file with Bearer token. You can use one of token or tokenFile | -| server.remote.write.url | string | `""` | | -| server.replicaCount | int | `1` | | -| server.resources | object | `{}` | | -| server.securityContext.enabled | bool | `true` | | -| server.service.annotations | object | `{}` | | -| server.service.clusterIP | string | `""` | | -| server.service.externalIPs | list | `[]` | | -| server.service.externalTrafficPolicy | string | `""` | | -| server.service.healthCheckNodePort | string | `""` | | -| server.service.ipFamilies | list | `[]` | | -| server.service.ipFamilyPolicy | string | `""` | | -| server.service.labels | object | `{}` | | -| server.service.loadBalancerIP | string | `""` | | -| server.service.loadBalancerSourceRanges | list | `[]` | | -| server.service.servicePort | int | `8880` | | -| server.service.type | string | `"ClusterIP"` | | -| server.strategy.rollingUpdate.maxSurge | string | `"25%"` | | -| server.strategy.rollingUpdate.maxUnavailable | string | `"25%"` | | -| server.strategy.type | string | `"RollingUpdate"` | | -| server.tolerations | list | `[]` | | -| server.verticalPodAutoscaler | object | `{"enabled":false}` | Vertical Pod Autoscaler | -| server.verticalPodAutoscaler.enabled | bool | `false` | Use VPA for vmalert | -| serviceAccount.annotations | object | `{}` | | -| serviceAccount.automountToken | bool | `true` | | -| serviceAccount.create | bool | `true` | | -| serviceAccount.name | string | `nil` | | -| serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for server component. This is Prometheus operator object | -| serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
alertmanager.baseURLstring
+""
+
+
alertmanager.baseURLPrefixstring
+""
+
+
alertmanager.config.global.resolve_timeoutstring
+5m
+
+
alertmanager.config.receivers[0].namestring
+devnull
+
+
alertmanager.config.route.group_by[0]string
+alertname
+
+
alertmanager.config.route.group_intervalstring
+10s
+
+
alertmanager.config.route.group_waitstring
+30s
+
+
alertmanager.config.route.receiverstring
+devnull
+
+
alertmanager.config.route.repeat_intervalstring
+24h
+
+
alertmanager.configMapstring
+""
+
+
alertmanager.emptyDirobject
+{}
+
+
alertmanager.enabledbool
+false
+
+
alertmanager.envFromlist
+[]
+
+
alertmanager.extraArgsobject
+{}
+
+
alertmanager.extraContainerslist
+[]
+
+
alertmanager.extraHostPathMountslist
+[]
+
+
alertmanager.extraVolumeMountslist
+[]
+
+
alertmanager.extraVolumeslist
+[]
+
+
alertmanager.imageobject
+registry: ""
+repository: prom/alertmanager
+tag: v0.25.0
+
+

alertmanager image configuration

+
alertmanager.imagePullSecretslist
+[]
+
+
alertmanager.ingress.annotationsobject
+{}
+
+
alertmanager.ingress.enabledbool
+false
+
+
alertmanager.ingress.extraLabelsobject
+{}
+
+
alertmanager.ingress.hostslist
+[]
+
+
alertmanager.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
alertmanager.ingress.tlslist
+[]
+
+
alertmanager.listenAddressstring
+0.0.0.0:9093
+
+
alertmanager.nodeSelectorobject
+{}
+
+
alertmanager.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
alertmanager.persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
alertmanager.persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for alertmanager component. Empty dir if false

+
alertmanager.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
alertmanager.persistentVolume.mountPathstring
+/data
+
+

Mount path. Alertmanager data Persistent Volume mount root path.

+
alertmanager.persistentVolume.sizestring
+50Mi
+
+

Size of the volume. Better to set the same as resource limit memory property.

+
alertmanager.persistentVolume.storageClassNamestring
+""
+
+

StorageClass to use for persistent volume. Requires alertmanager.persistentVolume.enabled: true. If defined, PVC created automatically

+
alertmanager.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
alertmanager.podMetadata.annotationsobject
+{}
+
+
alertmanager.podMetadata.labelsobject
+{}
+
+
alertmanager.podSecurityContext.enabledbool
+false
+
+
alertmanager.priorityClassNamestring
+""
+
+
alertmanager.probe.livenessobject
+httpGet:
+    path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/healthy'
+    port: web
+
+

liveness probe

+
alertmanager.probe.readinessobject
+httpGet:
+    path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready'
+    port: web
+
+

readiness probe

+
alertmanager.probe.startupobject
+httpGet:
+    path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready'
+    port: web
+
+

startup probe

+
alertmanager.resourcesobject
+{}
+
+
alertmanager.retentionstring
+120h
+
+
alertmanager.securityContext.enabledbool
+false
+
+
alertmanager.service.annotationsobject
+{}
+
+
alertmanager.service.clusterIPstring
+""
+
+
alertmanager.service.externalIPslist
+[]
+
+

Ref: https://kubernetes.io/docs/user-guide/services/#external-ips

+
alertmanager.service.externalTrafficPolicystring
+""
+
+

Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip

+
alertmanager.service.healthCheckNodePortstring
+""
+
+
alertmanager.service.ipFamilieslist
+[]
+
+
alertmanager.service.ipFamilyPolicystring
+""
+
+
alertmanager.service.labelsobject
+{}
+
+
alertmanager.service.loadBalancerIPstring
+""
+
+
alertmanager.service.loadBalancerSourceRangeslist
+[]
+
+
alertmanager.service.nodePortstring
+""
+
+

if you want to force a specific nodePort. Must be use with service.type=NodePort

+
alertmanager.service.portint
+9093
+
+
alertmanager.service.servicePortint
+8880
+
+
alertmanager.service.typestring
+ClusterIP
+
+
alertmanager.templatesobject
+{}
+
+
alertmanager.tolerationslist
+[]
+
+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
rbac.annotationsobject
+{}
+
+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+
server.affinityobject
+{}
+
+
server.annotationsobject
+{}
+
+
server.config.alerts.groupslist
+[]
+
+
server.configMapstring
+""
+
+
server.datasource.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for datasource

+
server.datasource.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.datasource.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.datasource.urlstring
+""
+
+
server.enabledbool
+true
+
+
server.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
server.envFromlist
+[]
+
+
server.extraArgs."envflag.enable"string
+"true"
+
+
server.extraArgs."envflag.prefix"string
+VM_
+
+
server.extraArgs.loggerFormatstring
+json
+
+
server.extraContainerslist
+[]
+
+

Additional containers to run in the same pod

+
server.extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
server.extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
server.extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
server.fullnameOverridestring
+""
+
+
server.imageobject
+pullPolicy: IfNotPresent
+registry: ""
+repository: victoriametrics/vmalert
+tag: ""
+variant: ""
+
+

vmalert image configuration

+
server.imagePullSecretslist
+[]
+
+
server.ingress.annotationsobject
+{}
+
+
server.ingress.enabledbool
+false
+
+
server.ingress.extraLabelsobject
+{}
+
+
server.ingress.hostslist
+[]
+
+
server.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
server.ingress.tlslist
+[]
+
+
server.labelsobject
+{}
+
+
server.minReadySecondsint
+0
+
+
server.namestring
+server
+
+
server.nameOverridestring
+""
+
+
server.nodeSelectorobject
+{}
+
+
server.notifierobject
+alertmanager:
+    basicAuth:
+        password: ""
+        username: ""
+    bearer:
+        token: ""
+        tokenFile: ""
+    url: ""
+
+

Notifier to use for alerts. Multiple notifiers can be enabled by using notifiers section

+
server.notifier.alertmanager.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for alertmanager

+
server.notifier.alertmanager.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.notifier.alertmanager.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.notifierslist
+[]
+
+

Additional notifiers to use for alerts

+
server.podAnnotationsobject
+{}
+
+
server.podDisruptionBudget.enabledbool
+false
+
+
server.podDisruptionBudget.labelsobject
+{}
+
+
server.podLabelsobject
+{}
+
+
server.podSecurityContext.enabledbool
+true
+
+
server.priorityClassNamestring
+""
+
+
server.probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
server.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

readiness probe

+
server.probe.startupobject
+{}
+
+

startup probe

+
server.remote.read.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for remote read

+
server.remote.read.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.remote.read.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.remote.read.urlstring
+""
+
+
server.remote.write.basicAuthobject
+password: ""
+username: ""
+
+

Basic auth for remote write

+
server.remote.write.bearerobject
+token: ""
+tokenFile: ""
+
+

Auth based on Bearer token for remote write

+
server.remote.write.bearer.tokenstring
+""
+
+

Token with Bearer token. You can use one of token or tokenFile. You don’t need to add “Bearer” prefix string

+
server.remote.write.bearer.tokenFilestring
+""
+
+

Token Auth file with Bearer token. You can use one of token or tokenFile

+
server.remote.write.urlstring
+""
+
+
server.replicaCountint
+1
+
+
server.resourcesobject
+{}
+
+
server.securityContext.enabledbool
+true
+
+
server.service.annotationsobject
+{}
+
+
server.service.clusterIPstring
+""
+
+
server.service.externalIPslist
+[]
+
+
server.service.externalTrafficPolicystring
+""
+
+
server.service.healthCheckNodePortstring
+""
+
+
server.service.ipFamilieslist
+[]
+
+
server.service.ipFamilyPolicystring
+""
+
+
server.service.labelsobject
+{}
+
+
server.service.loadBalancerIPstring
+""
+
+
server.service.loadBalancerSourceRangeslist
+[]
+
+
server.service.servicePortint
+8880
+
+
server.service.typestring
+ClusterIP
+
+
server.strategy.rollingUpdate.maxSurgestring
+25%
+
+
server.strategy.rollingUpdate.maxUnavailablestring
+25%
+
+
server.strategy.typestring
+RollingUpdate
+
+
server.tolerationslist
+[]
+
+
server.verticalPodAutoscalerobject
+enabled: false
+
+

Vertical Pod Autoscaler

+
server.verticalPodAutoscaler.enabledbool
+false
+
+

Use VPA for vmalert

+
serviceAccount.annotationsobject
+{}
+
+
serviceAccount.automountTokenbool
+true
+
+
serviceAccount.createbool
+true
+
+
serviceAccount.namestring
+null
+
+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
+ diff --git a/charts/victoria-metrics-alert/README.md.gotmpl b/charts/victoria-metrics-alert/README.md.gotmpl index 57be469a3..7d89ec750 100644 --- a/charts/victoria-metrics-alert/README.md.gotmpl +++ b/charts/victoria-metrics-alert/README.md.gotmpl @@ -101,4 +101,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-alert/values.yaml`` file. -{{ template "chart.valuesTable" . }} +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-alert/values.yaml b/charts/victoria-metrics-alert/values.yaml index 247e193aa..5751b8da1 100644 --- a/charts/victoria-metrics-alert/values.yaml +++ b/charts/victoria-metrics-alert/values.yaml @@ -29,6 +29,7 @@ rbac: server: name: server enabled: true + # -- vmalert image configuration image: registry: "" repository: victoriametrics/vmalert @@ -41,8 +42,7 @@ server: fullnameOverride: "" imagePullSecrets: [] - ## See `kubectl explain poddisruptionbudget.spec` for more - ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ + ## -- See `kubectl explain poddisruptionbudget.spec` for more. Or check [docs](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) podDisruptionBudget: enabled: false # minAvailable: 1 @@ -63,20 +63,22 @@ server: #- configMapRef: # name: special-config - # Readiness & Liveness probes probe: + # -- readiness probe readiness: httpGet: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 + # -- liveness probe liveness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 + # -- startup probe startup: {} replicaCount: 1 @@ -333,6 +335,7 @@ alertmanager: podMetadata: labels: {} annotations: {} + # -- alertmanager image configuration image: registry: "" repository: prom/alertmanager @@ -344,14 +347,17 @@ alertmanager: tolerations: [] imagePullSecrets: [] probe: + # -- readiness probe readiness: httpGet: path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready' port: web + # -- liveness probe liveness: httpGet: path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/healthy' port: web + # -- startup probe startup: httpGet: path: '{{ ternary "" .baseURLPrefix (empty .baseURLPrefix) }}/-/ready' @@ -432,7 +438,7 @@ alertmanager: persistentVolume: # -- Create/use Persistent Volume Claim for alertmanager component. Empty dir if false enabled: false - # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) + # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](http://kubernetes.io/docs/user-guide/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistant volume annotations diff --git a/charts/victoria-metrics-anomaly/README.md b/charts/victoria-metrics-anomaly/README.md index b78908f13..528d150a8 100644 --- a/charts/victoria-metrics-anomaly/README.md +++ b/charts/victoria-metrics-anomaly/README.md @@ -107,69 +107,662 @@ For more `vmanomaly` config parameters see https://docs.victoriametrics.com/anom Change the values according to the need of the environment in ``victoria-metrics-anomaly/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| affinity | object | `{}` | Affinity configurations | -| annotations | object | `{}` | Annotations to be added to the deployment | -| config | object | `{"models":{},"preset":"","reader":{"class":"vm","datasource_url":"","queries":{},"sampling_period":"1m","tenant_id":""},"schedulers":{},"writer":{"class":"vm","datasource_url":"","tenant_id":""}}` | Full [vmanomaly config section](https://docs.victoriametrics.com/anomaly-detection/components/) | -| config.models | object | `{}` | [Models section](https://docs.victoriametrics.com/anomaly-detection/components/models/) | -| config.preset | string | `""` | Whether to use preset configuration. If not empty, preset name should be specified. | -| config.reader | object | `{"class":"vm","datasource_url":"","queries":{},"sampling_period":"1m","tenant_id":""}` | [Reader section](https://docs.victoriametrics.com/anomaly-detection/components/reader/) | -| config.reader.class | string | `"vm"` | Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified. | -| config.reader.datasource_url | string | `""` | Datasource URL address. Required for example "http://single-victoria-metrics-single-server.default.svc.cluster.local:8428" or "http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/" | -| config.reader.queries | object | `{}` | Required. PromQL/MetricsQL query to select data in format: QUERY_ALIAS: "QUERY". As accepted by "/query_range?query=%s". See https://docs.victoriametrics.com/anomaly-detection/components/reader/#per-query-parameters for more details. | -| config.reader.sampling_period | string | `"1m"` | Frequency of the points returned. Will be converted to "/query_range?step=%s" param (in seconds). **Required** since 1.9.0. | -| config.reader.tenant_id | string | `""` | For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs | -| config.schedulers | object | `{}` | [Scheduler section](https://docs.victoriametrics.com/anomaly-detection/components/scheduler/) | -| config.writer | object | `{"class":"vm","datasource_url":"","tenant_id":""}` | [Writer section](https://docs.victoriametrics.com/anomaly-detection/components/writer/) | -| config.writer.class | string | `"vm"` | Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified. | -| config.writer.datasource_url | string | `""` | Datasource URL address. Required for example "http://single-victoria-metrics-single-server.default.svc.cluster.local:8428" or "http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/" | -| config.writer.tenant_id | string | `""` | For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs | -| containerWorkingDir | string | `"/vmanomaly"` | | -| emptyDir | object | `{}` | | -| env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) | -| envFrom | list | `[]` | | -| extraArgs.loggerFormat | string | `"json"` | | -| extraContainers | list | `[]` | | -| extraHostPathMounts | list | `[]` | Additional hostPath mounts | -| extraVolumeMounts | list | `[]` | Extra Volume Mounts for the container | -| extraVolumes | list | `[]` | Extra Volumes for the pod | -| fullnameOverride | string | `""` | | -| global.compatibility.openshift.adaptSecurityContext | string | `"auto"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | -| image.registry | string | `""` | Victoria Metrics anomaly Docker registry | -| image.repository | string | `"victoriametrics/vmanomaly"` | Victoria Metrics anomaly Docker repository and image name | -| image.tag | string | `"v1.15.4"` | Tag of Docker image | -| imagePullSecrets | list | `[]` | | -| license | object | `{"key":"","secret":{"key":"","name":""}}` | License key configuration for vmanomaly. See [docs](https://docs.victoriametrics.com/vmanomaly#licensing) Required starting from v1.5.0. | -| license.key | string | `""` | License key for vmanomaly | -| license.secret | object | `{"key":"","name":""}` | Use existing secret with license key for vmanomaly | -| license.secret.key | string | `""` | Key in secret with license key | -| license.secret.name | string | `""` | Existing secret name | -| nameOverride | string | `""` | | -| nodeSelector | object | `{}` | NodeSelector configurations. Ref: https://kubernetes.io/docs/user-guide/node-selection/ | -| persistentVolume | object | `{"accessModes":["ReadWriteOnce"],"annotations":{},"enabled":false,"existingClaim":"","matchLabels":{},"size":"1Gi","storageClassName":""}` | Persistence to store models on disk. Available starting from v1.13.0 | -| persistentVolume.accessModes | list | `["ReadWriteOnce"]` | Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) | -| persistentVolume.annotations | object | `{}` | Persistant volume annotations | -| persistentVolume.enabled | bool | `false` | Create/use Persistent Volume Claim for models dump. | -| persistentVolume.existingClaim | string | `""` | Existing Claim name. If defined, PVC must be created manually before volume will be bound | -| persistentVolume.matchLabels | object | `{}` | Bind Persistent Volume by labels. Must match all labels of targeted PV. | -| persistentVolume.size | string | `"1Gi"` | Size of the volume. Should be calculated based on the metrics you send and retention policy you set. | -| persistentVolume.storageClassName | string | `""` | StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically | -| podAnnotations | object | `{}` | Annotations to be added to pod | -| podDisruptionBudget | object | `{"enabled":false,"labels":{},"minAvailable":1}` | See `kubectl explain poddisruptionbudget.spec` for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | -| podMonitor.annotations | object | `{}` | | -| podMonitor.enabled | bool | `false` | | -| podMonitor.extraLabels | object | `{}` | | -| podSecurityContext.enabled | bool | `true` | | -| resources | object | `{}` | | -| securityContext.enabled | bool | `true` | | -| securityContext.runAsGroup | int | `1000` | | -| securityContext.runAsNonRoot | bool | `true` | | -| securityContext.runAsUser | int | `1000` | | -| serviceAccount.annotations | object | `{}` | | -| serviceAccount.create | bool | `true` | | -| serviceAccount.name | string | `nil` | | -| tolerations | list | `[]` | Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+

Affinity configurations

+
annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
configobject
+models: {}
+preset: ""
+reader:
+    class: vm
+    datasource_url: ""
+    queries: {}
+    sampling_period: 1m
+    tenant_id: ""
+schedulers: {}
+writer:
+    class: vm
+    datasource_url: ""
+    tenant_id: ""
+
+

Full vmanomaly config section

+
config.modelsobject
+{}
+
+

Models section

+
config.presetstring
+""
+
+

Whether to use preset configuration. If not empty, preset name should be specified.

+
config.readerobject
+class: vm
+datasource_url: ""
+queries: {}
+sampling_period: 1m
+tenant_id: ""
+
+

Reader section

+
config.reader.classstring
+vm
+
+

Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified.

+
config.reader.datasource_urlstring
+""
+
+

Datasource URL address. Required for example http://single-victoria-metrics-single-server.default.svc.cluster.local:8428 or http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/

+
config.reader.queriesobject
+{}
+
+

Required. PromQL/MetricsQL query to select data in format: QUERY_ALIAS: “QUERY”. As accepted by “/query_range?query=%s”. See https://docs.victoriametrics.com/anomaly-detection/components/reader/#per-query-parameters for more details.

+
config.reader.sampling_periodstring
+1m
+
+

Frequency of the points returned. Will be converted to /query_range?step=%s param (in seconds). Required since 1.9.0.

+
config.reader.tenant_idstring
+""
+
+

For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs

+
config.schedulersobject
+{}
+
+

Scheduler section

+
config.writerobject
+class: vm
+datasource_url: ""
+tenant_id: ""
+
+

Writer section

+
config.writer.classstring
+vm
+
+

Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified.

+
config.writer.datasource_urlstring
+""
+
+

Datasource URL address. Required for example http://single-victoria-metrics-single-server.default.svc.cluster.local:8428 or http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/

+
config.writer.tenant_idstring
+""
+
+

For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs

+
containerWorkingDirstring
+/vmanomaly
+
+
emptyDirobject
+{}
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags)

+
envFromlist
+[]
+
+
extraArgs.loggerFormatstring
+json
+
+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
image.pullPolicystring
+IfNotPresent
+
+

Pull policy of Docker image

+
image.registrystring
+""
+
+

Victoria Metrics anomaly Docker registry

+
image.repositorystring
+victoriametrics/vmanomaly
+
+

Victoria Metrics anomaly Docker repository and image name

+
image.tagstring
+v1.15.4
+
+

Tag of Docker image

+
imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

License key configuration for vmanomaly. See docs Required starting from v1.5.0.

+
license.keystring
+""
+
+

License key for vmanomaly

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key for vmanomaly

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+

NodeSelector configurations. Details are here

+
persistentVolumeobject
+accessModes:
+    - ReadWriteOnce
+annotations: {}
+enabled: false
+existingClaim: ""
+matchLabels: {}
+size: 1Gi
+storageClassName: ""
+
+

Persistence to store models on disk. Available starting from v1.13.0

+
persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for models dump.

+
persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
persistentVolume.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
persistentVolume.sizestring
+1Gi
+
+

Size of the volume. Should be calculated based on the metrics you send and retention policy you set.

+
persistentVolume.storageClassNamestring
+""
+
+

StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically

+
podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+minAvailable: 1
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
podMonitor.annotationsobject
+{}
+
+
podMonitor.enabledbool
+false
+
+
podMonitor.extraLabelsobject
+{}
+
+
podSecurityContext.enabledbool
+true
+
+
resourcesobject
+{}
+
+
securityContext.enabledbool
+true
+
+
securityContext.runAsGroupint
+1000
+
+
securityContext.runAsNonRootbool
+true
+
+
securityContext.runAsUserint
+1000
+
+
serviceAccount.annotationsobject
+{}
+
+
serviceAccount.createbool
+true
+
+
serviceAccount.namestring
+null
+
+
tolerationslist
+[]
+
+

Tolerations configurations. Details are here

+
+ diff --git a/charts/victoria-metrics-anomaly/README.md.gotmpl b/charts/victoria-metrics-anomaly/README.md.gotmpl index 9a5139644..909b6fa2a 100644 --- a/charts/victoria-metrics-anomaly/README.md.gotmpl +++ b/charts/victoria-metrics-anomaly/README.md.gotmpl @@ -107,4 +107,23 @@ For more `vmanomaly` config parameters see https://docs.victoriametrics.com/anom Change the values according to the need of the environment in ``victoria-metrics-anomaly/values.yaml`` file. -{{ template "chart.valuesTable" . }} \ No newline at end of file +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-anomaly/values.yaml b/charts/victoria-metrics-anomaly/values.yaml index d567246f3..93e8d9f0b 100644 --- a/charts/victoria-metrics-anomaly/values.yaml +++ b/charts/victoria-metrics-anomaly/values.yaml @@ -33,7 +33,7 @@ serviceAccount: # The name of the service account to use. If not set and create is true, a name is generated using the fullname template name: -# -- See `kubectl explain poddisruptionbudget.spec` for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ +# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) podDisruptionBudget: enabled: false minAvailable: 1 @@ -102,10 +102,10 @@ annotations: {} # -- Annotations to be added to pod podAnnotations: {} -# -- NodeSelector configurations. Ref: https://kubernetes.io/docs/user-guide/node-selection/ +# -- NodeSelector configurations. Details are [here](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: {} -# -- Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ +# -- Tolerations configurations. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: [] # - key: "key" # operator: "Equal|Exists" @@ -134,7 +134,7 @@ config: reader: # -- Name of the class needed to enable reading from VictoriaMetrics or Prometheus. VmReader is the default option, if not specified. class: "vm" - # -- Datasource URL address. Required for example "http://single-victoria-metrics-single-server.default.svc.cluster.local:8428" or "http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/" + # -- Datasource URL address. Required for example `http://single-victoria-metrics-single-server.default.svc.cluster.local:8428` or `http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/` datasource_url: "" # -- For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs tenant_id: "" @@ -151,14 +151,14 @@ config: # expr: 'sum(rate(vm_http_requests_total{path=~"/api/v1/write|.*insert.*"}[5m])) by (path) > 0' # slow_inserts: # expr: 'sum(rate(vm_slow_row_inserts_total[5m])) / sum(rate(vm_rows_inserted_total[5m]))' - # -- Frequency of the points returned. Will be converted to "/query_range?step=%s" param (in seconds). **Required** since 1.9.0. + # -- Frequency of the points returned. Will be converted to `/query_range?step=%s` param (in seconds). **Required** since 1.9.0. sampling_period: '1m' # -- [Writer section](https://docs.victoriametrics.com/anomaly-detection/components/writer/) writer: # -- Name of the class needed to enable writing to VictoriaMetrics or Prometheus. VmWriter is the default option, if not specified. class: "vm" - # -- Datasource URL address. Required for example "http://single-victoria-metrics-single-server.default.svc.cluster.local:8428" or "http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/" + # -- Datasource URL address. Required for example `http://single-victoria-metrics-single-server.default.svc.cluster.local:8428` or `http://cluster-victoria-metrics-cluster-vminsert.default.svc.cluster.local:8480/insert/` datasource_url: "" # -- For VictoriaMetrics Cluster version only, tenants are identified by accountID or accountID:projectID. See VictoriaMetrics Cluster multitenancy docs tenant_id: "" @@ -170,7 +170,7 @@ persistentVolume: # -- Create/use Persistent Volume Claim for models dump. enabled: false - # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) + # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](http://kubernetes.io/docs/user-guide/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistant volume annotations diff --git a/charts/victoria-metrics-auth/README.md b/charts/victoria-metrics-auth/README.md index 786f3f99d..f6fbfa30b 100644 --- a/charts/victoria-metrics-auth/README.md +++ b/charts/victoria-metrics-auth/README.md @@ -94,89 +94,774 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-auth/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| affinity | object | `{}` | Affinity configurations | -| annotations | object | `{}` | Annotations to be added to the deployment | -| config | string | `nil` | Config file content. | -| containerWorkingDir | string | `"/"` | | -| env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| envFrom | list | `[]` | | -| extraArgs."envflag.enable" | string | `"true"` | | -| extraArgs."envflag.prefix" | string | `"VM_"` | | -| extraArgs.loggerFormat | string | `"json"` | | -| extraContainers | list | `[]` | | -| extraHostPathMounts | list | `[]` | Additional hostPath mounts | -| extraLabels | object | `{}` | Labels to be added to the deployment and pods | -| extraObjects | list | `[]` | Add extra specs dynamically to this chart | -| extraVolumeMounts | list | `[]` | Extra Volume Mounts for the container | -| extraVolumes | list | `[]` | Extra Volumes for the pod | -| fullnameOverride | string | `""` | | -| global.compatibility.openshift.adaptSecurityContext | string | `"auto"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| image.pullPolicy | string | `"IfNotPresent"` | Pull policy of Docker image | -| image.registry | string | `""` | Image registry | -| image.repository | string | `"victoriametrics/vmauth"` | Victoria Metrics Auth Docker repository and image name | -| image.tag | string | `""` | Tag of Docker image | -| image.variant | string | `""` | | -| imagePullSecrets | list | `[]` | | -| ingress.annotations | object | `{}` | | -| ingress.enabled | bool | `false` | | -| ingress.extraLabels | object | `{}` | | -| ingress.hosts | list | `[]` | | -| ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| ingress.tls | list | `[]` | | -| ingressInternal.annotations | object | `{}` | | -| ingressInternal.enabled | bool | `false` | | -| ingressInternal.extraLabels | object | `{}` | | -| ingressInternal.hosts | list | `[]` | | -| ingressInternal.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| ingressInternal.tls | list | `[]` | | -| license | object | `{"key":"","secret":{"key":"","name":""}}` | Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0 | -| license.key | string | `""` | License key | -| license.secret | object | `{"key":"","name":""}` | Use existing secret with license key | -| license.secret.key | string | `""` | Key in secret with license key | -| license.secret.name | string | `""` | Existing secret name | -| nameOverride | string | `""` | | -| nodeSelector | object | `{}` | NodeSelector configurations. Ref: https://kubernetes.io/docs/user-guide/node-selection/ | -| podAnnotations | object | `{}` | Annotations to be added to pod | -| podDisruptionBudget | object | `{"enabled":false,"labels":{}}` | See `kubectl explain poddisruptionbudget.spec` for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | -| podSecurityContext.enabled | bool | `true` | | -| probe.liveness.initialDelaySeconds | int | `5` | | -| probe.liveness.periodSeconds | int | `15` | | -| probe.liveness.tcpSocket | object | `{}` | | -| probe.liveness.timeoutSeconds | int | `5` | | -| probe.readiness.initialDelaySeconds | int | `5` | | -| probe.readiness.periodSeconds | int | `15` | | -| probe.readiness.tcpSocket | object | `{}` | | -| probe.startup | object | `{}` | | -| rbac.annotations | object | `{}` | | -| rbac.extraLabels | object | `{}` | | -| replicaCount | int | `1` | Number of replicas of vmauth | -| resources | object | `{}` | We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'. | -| secretName | string | `""` | Use existing secret if specified otherwise .config values will be used. Ref: https://docs.victoriametrics.com/vmauth. Configuration in the given secret must be stored under `auth.yml` key. | -| securityContext.enabled | bool | `true` | | -| service.annotations | object | `{}` | | -| service.clusterIP | string | `""` | | -| service.enabled | bool | `true` | | -| service.externalIPs | list | `[]` | | -| service.externalTrafficPolicy | string | `""` | | -| service.extraLabels | object | `{}` | | -| service.healthCheckNodePort | string | `""` | | -| service.ipFamilies | list | `[]` | | -| service.ipFamilyPolicy | string | `""` | | -| service.loadBalancerIP | string | `""` | | -| service.loadBalancerSourceRanges | list | `[]` | | -| service.servicePort | int | `8427` | | -| service.type | string | `"ClusterIP"` | | -| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | -| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | -| serviceAccount.name | string | `nil` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | -| serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for server component. This is Prometheus operator object | -| serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | -| tolerations | list | `[]` | Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+

Affinity configurations

+
annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
configstring
+null
+
+

Config file content.

+
containerWorkingDirstring
+/
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
envFromlist
+[]
+
+
extraArgs."envflag.enable"string
+"true"
+
+
extraArgs."envflag.prefix"string
+VM_
+
+
extraArgs.loggerFormatstring
+json
+
+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraLabelsobject
+{}
+
+

Labels to be added to the deployment and pods

+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
image.pullPolicystring
+IfNotPresent
+
+

Pull policy of Docker image

+
image.registrystring
+""
+
+

Image registry

+
image.repositorystring
+victoriametrics/vmauth
+
+

Victoria Metrics Auth Docker repository and image name

+
image.tagstring
+""
+
+

Tag of Docker image

+
image.variantstring
+""
+
+
imagePullSecretslist
+[]
+
+
ingress.annotationsobject
+{}
+
+
ingress.enabledbool
+false
+
+
ingress.extraLabelsobject
+{}
+
+
ingress.hostslist
+[]
+
+
ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingress.tlslist
+[]
+
+
ingressInternal.annotationsobject
+{}
+
+
ingressInternal.enabledbool
+false
+
+
ingressInternal.extraLabelsobject
+{}
+
+
ingressInternal.hostslist
+[]
+
+
ingressInternal.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingressInternal.tlslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+

NodeSelector configurations. Ref: https://kubernetes.io/docs/user-guide/node-selection/

+
podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/

+
podSecurityContext.enabledbool
+true
+
+
probe.livenessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
probe.readinessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+
+

readiness probe

+
probe.startupobject
+{}
+
+

startup probe

+
rbac.annotationsobject
+{}
+
+
rbac.extraLabelsobject
+{}
+
+
replicaCountint
+1
+
+

Number of replicas of vmauth

+
resourcesobject
+{}
+
+

We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after resources:.

+
secretNamestring
+""
+
+

Use existing secret if specified otherwise .config values will be used. Ref: https://docs.victoriametrics.com/vmauth. Configuration in the given secret must be stored under auth.yml key.

+
securityContext.enabledbool
+true
+
+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.enabledbool
+true
+
+
service.externalIPslist
+[]
+
+
service.externalTrafficPolicystring
+""
+
+
service.extraLabelsobject
+{}
+
+
service.healthCheckNodePortstring
+""
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.servicePortint
+8427
+
+
service.typestring
+ClusterIP
+
+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+null
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
tolerationslist
+[]
+
+

Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

+
+ diff --git a/charts/victoria-metrics-auth/README.md.gotmpl b/charts/victoria-metrics-auth/README.md.gotmpl index e9e489559..df730c058 100644 --- a/charts/victoria-metrics-auth/README.md.gotmpl +++ b/charts/victoria-metrics-auth/README.md.gotmpl @@ -94,4 +94,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-auth/values.yaml`` file. -{{ template "chart.valuesTable" . }} \ No newline at end of file +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-auth/values.yaml b/charts/victoria-metrics-auth/values.yaml index b19fb9ef8..8a07de1a4 100644 --- a/charts/victoria-metrics-auth/values.yaml +++ b/charts/victoria-metrics-auth/values.yaml @@ -161,7 +161,7 @@ ingressInternal: # -- pathType is only for k8s >= 1.1= pathType: Prefix -# -- We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after 'resources:'. +# -- We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after `resources:`. resources: {} # limits: # cpu: 100m @@ -252,15 +252,18 @@ config: extraObjects: [] probe: + # -- readiness probe readiness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 + # -- liveness probe liveness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 + # -- startup probe startup: {} # -- Enterprise license key configuration for VictoriaMetrics enterprise. diff --git a/charts/victoria-metrics-cluster/README.md b/charts/victoria-metrics-cluster/README.md index 775944415..630500dc3 100644 --- a/charts/victoria-metrics-cluster/README.md +++ b/charts/victoria-metrics-cluster/README.md @@ -100,304 +100,2644 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-cluster/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| clusterDomainSuffix | string | `"cluster.local"` | k8s cluster domain suffix, uses for building storage pods' FQDN. Ref: [https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) | -| extraObjects | list | `[]` | Add extra specs dynamically to this chart | -| extraSecrets | list | `[]` | | -| global.compatibility.openshift.adaptSecurityContext | string | `"auto"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| license | object | `{"key":"","secret":{"key":"","name":""}}` | Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0 | -| license.key | string | `""` | License key | -| license.secret | object | `{"key":"","name":""}` | Use existing secret with license key | -| license.secret.key | string | `""` | Key in secret with license key | -| license.secret.name | string | `""` | Existing secret name | -| printNotes | bool | `true` | | -| rbac.create | bool | `true` | | -| rbac.extraLabels | object | `{}` | | -| rbac.namespaced | bool | `false` | | -| serviceAccount.automountToken | bool | `true` | | -| serviceAccount.create | bool | `true` | | -| serviceAccount.extraLabels | object | `{}` | | -| vminsert.affinity | object | `{}` | Pod affinity | -| vminsert.annotations | object | `{}` | | -| vminsert.automountServiceAccountToken | bool | `true` | | -| vminsert.containerWorkingDir | string | `""` | Container workdir | -| vminsert.enabled | bool | `true` | Enable deployment of vminsert component. Deployment is used | -| vminsert.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| vminsert.envFrom | list | `[]` | | -| vminsert.extraArgs."envflag.enable" | string | `"true"` | | -| vminsert.extraArgs."envflag.prefix" | string | `"VM_"` | | -| vminsert.extraArgs.loggerFormat | string | `"json"` | | -| vminsert.extraContainers | list | `[]` | | -| vminsert.extraLabels | object | `{}` | | -| vminsert.extraVolumeMounts | list | `[]` | | -| vminsert.extraVolumes | list | `[]` | | -| vminsert.fullnameOverride | string | `""` | Overrides the full name of vminsert component | -| vminsert.horizontalPodAutoscaler.behavior | object | `{}` | Behavior settings for scaling by the HPA | -| vminsert.horizontalPodAutoscaler.enabled | bool | `false` | Use HPA for vminsert component | -| vminsert.horizontalPodAutoscaler.maxReplicas | int | `10` | Maximum replicas for HPA to use to to scale the vminsert component | -| vminsert.horizontalPodAutoscaler.metrics | list | `[]` | Metric for HPA to use to scale the vminsert component | -| vminsert.horizontalPodAutoscaler.minReplicas | int | `2` | Minimum replicas for HPA to use to scale the vminsert component | -| vminsert.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| vminsert.image.registry | string | `""` | Image registry | -| vminsert.image.repository | string | `"victoriametrics/vminsert"` | Image repository | -| vminsert.image.tag | string | `""` | Image tag override Chart.AppVersion | -| vminsert.image.variant | string | `"cluster"` | | -| vminsert.ingress.annotations | object | `{}` | Ingress annotations | -| vminsert.ingress.enabled | bool | `false` | Enable deployment of ingress for vminsert component | -| vminsert.ingress.extraLabels | object | `{}` | | -| vminsert.ingress.hosts | list | `[]` | Array of host objects | -| vminsert.ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| vminsert.ingress.tls | list | `[]` | Array of TLS objects | -| vminsert.initContainers | list | `[]` | | -| vminsert.name | string | `"vminsert"` | vminsert container name | -| vminsert.nodeSelector | object | `{}` | Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) | -| vminsert.podAnnotations | object | `{}` | Pod's annotations | -| vminsert.podDisruptionBudget.enabled | bool | `false` | 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/) | -| vminsert.podDisruptionBudget.labels | object | `{}` | | -| vminsert.podSecurityContext.enabled | bool | `false` | | -| vminsert.ports.name | string | `"http"` | | -| vminsert.priorityClassName | string | `""` | Name of Priority Class | -| vminsert.probe.liveness.failureThreshold | int | `3` | | -| vminsert.probe.liveness.initialDelaySeconds | int | `5` | | -| vminsert.probe.liveness.periodSeconds | int | `15` | | -| vminsert.probe.liveness.tcpSocket | object | `{}` | | -| vminsert.probe.liveness.timeoutSeconds | int | `5` | | -| vminsert.probe.readiness.failureThreshold | int | `3` | | -| vminsert.probe.readiness.httpGet | object | `{}` | | -| vminsert.probe.readiness.initialDelaySeconds | int | `5` | | -| vminsert.probe.readiness.periodSeconds | int | `15` | | -| vminsert.probe.readiness.timeoutSeconds | int | `5` | | -| vminsert.probe.startup | object | `{}` | | -| vminsert.replicaCount | int | `2` | Count of vminsert pods | -| vminsert.resources | object | `{}` | Resource object | -| vminsert.securityContext | object | `{"enabled":false}` | Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | -| vminsert.service.annotations | object | `{}` | Service annotations | -| vminsert.service.clusterIP | string | `""` | Service ClusterIP | -| vminsert.service.externalIPs | list | `[]` | Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips]( https://kubernetes.io/docs/user-guide/services/#external-ips) | -| vminsert.service.externalTrafficPolicy | string | `""` | | -| vminsert.service.extraPorts | list | `[]` | Extra service ports | -| vminsert.service.healthCheckNodePort | string | `""` | | -| vminsert.service.ipFamilies | list | `[]` | | -| vminsert.service.ipFamilyPolicy | string | `""` | | -| vminsert.service.labels | object | `{}` | Service labels | -| vminsert.service.loadBalancerIP | string | `""` | Service load balancer IP | -| vminsert.service.loadBalancerSourceRanges | list | `[]` | Load balancer source range | -| vminsert.service.servicePort | int | `8480` | Service port | -| vminsert.service.targetPort | string | `"http"` | Target port | -| vminsert.service.type | string | `"ClusterIP"` | Service type | -| vminsert.service.udp | bool | `false` | Make sure that service is not type "LoadBalancer", as it requires "MixedProtocolLBService" feature gate. ref: https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/ | -| vminsert.serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| vminsert.serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| vminsert.serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for vminsert component. This is Prometheus operator object | -| vminsert.serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| vminsert.serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| vminsert.serviceMonitor.namespace | string | `""` | Target namespace of ServiceMonitor manifest | -| vminsert.serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | -| vminsert.strategy | object | `{}` | | -| vminsert.suppressStorageFQDNsRender | bool | `false` | Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs | -| vminsert.tolerations | list | `[]` | Array of tolerations object. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | -| vminsert.topologySpreadConstraints | list | `[]` | Pod topologySpreadConstraints | -| vmselect.affinity | object | `{}` | Pod affinity | -| vmselect.annotations | object | `{}` | | -| vmselect.automountServiceAccountToken | bool | `true` | | -| vmselect.cacheMountPath | string | `"/cache"` | Cache root folder | -| vmselect.containerWorkingDir | string | `""` | Container workdir | -| vmselect.emptyDir | object | `{}` | | -| vmselect.enabled | bool | `true` | Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet | -| vmselect.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| vmselect.envFrom | list | `[]` | | -| vmselect.extraArgs."envflag.enable" | bool | `true` | | -| vmselect.extraArgs."envflag.prefix" | string | `"VM_"` | | -| vmselect.extraArgs.loggerFormat | string | `"json"` | | -| vmselect.extraContainers | list | `[]` | | -| vmselect.extraHostPathMounts | list | `[]` | | -| vmselect.extraLabels | object | `{}` | | -| vmselect.extraVolumeMounts | list | `[]` | | -| vmselect.extraVolumes | list | `[]` | | -| vmselect.fullnameOverride | string | `""` | Overrides the full name of vmselect component | -| vmselect.horizontalPodAutoscaler.behavior | object | `{}` | Behavior settings for scaling by the HPA | -| vmselect.horizontalPodAutoscaler.enabled | bool | `false` | Use HPA for vmselect component | -| vmselect.horizontalPodAutoscaler.maxReplicas | int | `10` | Maximum replicas for HPA to use to to scale the vmselect component | -| vmselect.horizontalPodAutoscaler.metrics | list | `[]` | Metric for HPA to use to scale the vmselect component | -| vmselect.horizontalPodAutoscaler.minReplicas | int | `2` | Minimum replicas for HPA to use to scale the vmselect component | -| vmselect.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| vmselect.image.registry | string | `""` | Image registry | -| vmselect.image.repository | string | `"victoriametrics/vmselect"` | Image repository | -| vmselect.image.tag | string | `""` | Image tag override Chart.AppVersion | -| vmselect.image.variant | string | `"cluster"` | | -| vmselect.ingress.annotations | object | `{}` | Ingress annotations | -| vmselect.ingress.enabled | bool | `false` | Enable deployment of ingress for vmselect component | -| vmselect.ingress.extraLabels | object | `{}` | | -| vmselect.ingress.hosts | list | `[]` | Array of host objects | -| vmselect.ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| vmselect.ingress.tls | list | `[]` | Array of TLS objects | -| vmselect.initContainers | list | `[]` | | -| vmselect.name | string | `"vmselect"` | Vmselect container name | -| vmselect.nodeSelector | object | `{}` | Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) | -| vmselect.persistentVolume.accessModes | list | `["ReadWriteOnce"]` | Array of access mode. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) | -| vmselect.persistentVolume.annotations | object | `{}` | Persistent volume annotations | -| vmselect.persistentVolume.enabled | bool | `false` | Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim | -| vmselect.persistentVolume.existingClaim | string | `""` | Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound | -| vmselect.persistentVolume.labels | object | `{}` | Persistent volume labels | -| vmselect.persistentVolume.size | string | `"2Gi"` | Size of the volume. Better to set the same as resource limit memory property | -| vmselect.persistentVolume.subPath | string | `""` | Mount subpath | -| vmselect.podAnnotations | object | `{}` | Pod's annotations | -| vmselect.podDisruptionBudget.enabled | bool | `false` | See `kubectl explain poddisruptionbudget.spec` for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | -| vmselect.podDisruptionBudget.labels | object | `{}` | | -| vmselect.podSecurityContext.enabled | bool | `true` | | -| vmselect.ports.name | string | `"http"` | | -| vmselect.priorityClassName | string | `""` | Name of Priority Class | -| vmselect.probe.liveness.failureThreshold | int | `3` | | -| vmselect.probe.liveness.initialDelaySeconds | int | `5` | | -| vmselect.probe.liveness.periodSeconds | int | `15` | | -| vmselect.probe.liveness.tcpSocket | object | `{}` | | -| vmselect.probe.liveness.timeoutSeconds | int | `5` | | -| vmselect.probe.readiness.failureThreshold | int | `3` | | -| vmselect.probe.readiness.httpGet | object | `{}` | | -| vmselect.probe.readiness.initialDelaySeconds | int | `5` | | -| vmselect.probe.readiness.periodSeconds | int | `15` | | -| vmselect.probe.readiness.timeoutSeconds | int | `5` | | -| vmselect.probe.startup | object | `{}` | | -| vmselect.replicaCount | int | `2` | Count of vmselect pods | -| vmselect.resources | object | `{}` | Resource object | -| vmselect.securityContext | object | `{"enabled":true}` | Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ | -| vmselect.service.annotations | object | `{}` | Service annotations | -| vmselect.service.clusterIP | string | `""` | Service ClusterIP | -| vmselect.service.externalIPs | list | `[]` | Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips](https://kubernetes.io/docs/user-guide/services/#external-ips) | -| vmselect.service.externalTrafficPolicy | string | `""` | | -| vmselect.service.extraPorts | list | `[]` | Extra service ports | -| vmselect.service.healthCheckNodePort | string | `""` | | -| vmselect.service.ipFamilies | list | `[]` | | -| vmselect.service.ipFamilyPolicy | string | `""` | | -| vmselect.service.labels | object | `{}` | Service labels | -| vmselect.service.loadBalancerIP | string | `""` | Service load balacner IP | -| vmselect.service.loadBalancerSourceRanges | list | `[]` | Load balancer source range | -| vmselect.service.servicePort | int | `8481` | Service port | -| vmselect.service.targetPort | string | `"http"` | Target port | -| vmselect.service.type | string | `"ClusterIP"` | Service type | -| vmselect.serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| vmselect.serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| vmselect.serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for vmselect component. This is Prometheus operator object | -| vmselect.serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| vmselect.serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| vmselect.serviceMonitor.namespace | string | `""` | Target namespace of ServiceMonitor manifest | -| vmselect.serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | -| vmselect.statefulSet.enabled | bool | `false` | Deploy StatefulSet instead of Deployment for vmselect. Useful if you want to keep cache data. | -| vmselect.statefulSet.podManagementPolicy | string | `"OrderedReady"` | Deploy order policy for StatefulSet pods | -| vmselect.strategy | object | `{}` | | -| vmselect.suppressStorageFQDNsRender | bool | `false` | Suppress rendering `--storageNode` FQDNs based on `vmstorage.replicaCount` value. If true suppress rendering `--storageNodes`, they can be re-defined in extraArgs | -| vmselect.tolerations | list | `[]` | Array of tolerations object. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | -| vmselect.topologySpreadConstraints | list | `[]` | Pod topologySpreadConstraints | -| vmstorage.affinity | object | `{}` | Pod affinity | -| vmstorage.annotations | object | `{}` | | -| vmstorage.automountServiceAccountToken | bool | `true` | | -| vmstorage.containerWorkingDir | string | `""` | Container workdir | -| vmstorage.emptyDir | object | `{}` | | -| vmstorage.enabled | bool | `true` | Enable deployment of vmstorage component. StatefulSet is used | -| vmstorage.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| vmstorage.envFrom | list | `[]` | | -| vmstorage.extraArgs."envflag.enable" | string | `"true"` | | -| vmstorage.extraArgs."envflag.prefix" | string | `"VM_"` | | -| vmstorage.extraArgs.loggerFormat | string | `"json"` | | -| vmstorage.extraContainers | list | `[]` | | -| vmstorage.extraHostPathMounts | list | `[]` | | -| vmstorage.extraLabels | object | `{}` | | -| vmstorage.extraSecretMounts | list | `[]` | | -| vmstorage.extraVolumeMounts | list | `[]` | | -| vmstorage.extraVolumes | list | `[]` | | -| vmstorage.fullnameOverride | string | `nil` | Overrides the full name of vmstorage component | -| vmstorage.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| vmstorage.image.registry | string | `""` | Image registry | -| vmstorage.image.repository | string | `"victoriametrics/vmstorage"` | Image repository | -| vmstorage.image.tag | string | `""` | Image tag override Chart.AppVersion | -| vmstorage.image.variant | string | `"cluster"` | | -| vmstorage.initContainers | list | `[]` | | -| vmstorage.name | string | `"vmstorage"` | vmstorage container name | -| vmstorage.nodeSelector | object | `{}` | Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) | -| vmstorage.persistentVolume.accessModes | list | `["ReadWriteOnce"]` | Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) | -| vmstorage.persistentVolume.annotations | object | `{}` | Persistent volume annotations | -| vmstorage.persistentVolume.enabled | bool | `true` | Create/use Persistent Volume Claim for vmstorage component. Empty dir if false. If true, vmstorage will create/use a Persistent Volume Claim | -| vmstorage.persistentVolume.existingClaim | string | `""` | Existing Claim name. Requires vmstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound | -| vmstorage.persistentVolume.labels | object | `{}` | Persistent volume labels | -| vmstorage.persistentVolume.mountPath | string | `"/storage"` | Data root path. Vmstorage data Persistent Volume mount root path | -| vmstorage.persistentVolume.name | string | `"vmstorage-volume"` | | -| vmstorage.persistentVolume.size | string | `"8Gi"` | Size of the volume. | -| vmstorage.persistentVolume.storageClassName | string | `""` | Storage class name. Will be empty if not setted | -| vmstorage.persistentVolume.subPath | string | `""` | Mount subpath | -| vmstorage.podAnnotations | object | `{}` | Pod's annotations | -| vmstorage.podDisruptionBudget | object | `{"enabled":false,"labels":{}}` | 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/) | -| vmstorage.podManagementPolicy | string | `"OrderedReady"` | Deploy order policy for StatefulSet pods | -| vmstorage.podSecurityContext.enabled | bool | `false` | | -| vmstorage.ports.name | string | `"http"` | | -| vmstorage.priorityClassName | string | `""` | Name of Priority Class | -| vmstorage.probe.liveness.failureThreshold | int | `10` | | -| vmstorage.probe.liveness.initialDelaySeconds | int | `30` | | -| vmstorage.probe.liveness.periodSeconds | int | `30` | | -| vmstorage.probe.liveness.tcpSocket | object | `{}` | | -| vmstorage.probe.liveness.timeoutSeconds | int | `5` | | -| vmstorage.probe.readiness.failureThreshold | int | `3` | | -| vmstorage.probe.readiness.httpGet | object | `{}` | | -| vmstorage.probe.readiness.initialDelaySeconds | int | `5` | | -| vmstorage.probe.readiness.periodSeconds | int | `15` | | -| vmstorage.probe.readiness.timeoutSeconds | int | `5` | | -| vmstorage.probe.startup | object | `{}` | | -| vmstorage.replicaCount | int | `2` | Count of vmstorage pods | -| vmstorage.resources | object | `{}` | Resource object. Ref: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) | -| vmstorage.retentionPeriod | int | `1` | Data retention period. Supported values 1w, 1d, number without measurement means month, e.g. 2 = 2month | -| vmstorage.securityContext | object | `{"enabled":false}` | Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | -| vmstorage.service.annotations | object | `{}` | Service annotations | -| vmstorage.service.externalTrafficPolicy | string | `""` | | -| vmstorage.service.extraPorts | list | `[]` | Extra service ports | -| vmstorage.service.healthCheckNodePort | string | `""` | | -| vmstorage.service.ipFamilies | list | `[]` | | -| vmstorage.service.ipFamilyPolicy | string | `""` | | -| vmstorage.service.labels | object | `{}` | Service labels | -| vmstorage.service.servicePort | int | `8482` | Service port | -| vmstorage.service.vminsertPort | int | `8400` | Port for accepting connections from vminsert | -| vmstorage.service.vmselectPort | int | `8401` | Port for accepting connections from vmselect | -| vmstorage.serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| vmstorage.serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| vmstorage.serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for vmstorage component. This is Prometheus operator object | -| vmstorage.serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| vmstorage.serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| vmstorage.serviceMonitor.namespace | string | `""` | Target namespace of ServiceMonitor manifest | -| vmstorage.serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | -| vmstorage.terminationGracePeriodSeconds | int | `60` | Pod's termination grace period in seconds | -| vmstorage.tolerations | list | `[]` | 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/) # | -| vmstorage.topologySpreadConstraints | list | `[]` | Pod topologySpreadConstraints | -| vmstorage.vmbackupmanager.destination | string | `""` | backup destination at S3, GCS or local filesystem. Pod name will be included to path! | -| vmstorage.vmbackupmanager.disableDaily | bool | `false` | disable daily backups | -| vmstorage.vmbackupmanager.disableHourly | bool | `false` | disable hourly backups | -| vmstorage.vmbackupmanager.disableMonthly | bool | `false` | disable monthly backups | -| vmstorage.vmbackupmanager.disableWeekly | bool | `false` | disable weekly backups | -| vmstorage.vmbackupmanager.enable | bool | `false` | enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages | -| vmstorage.vmbackupmanager.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| vmstorage.vmbackupmanager.extraArgs."envflag.enable" | string | `"true"` | | -| vmstorage.vmbackupmanager.extraArgs."envflag.prefix" | string | `"VM_"` | | -| vmstorage.vmbackupmanager.extraArgs.loggerFormat | string | `"json"` | | -| vmstorage.vmbackupmanager.extraSecretMounts | list | `[]` | | -| vmstorage.vmbackupmanager.image.registry | string | `""` | vmbackupmanager image registry | -| vmstorage.vmbackupmanager.image.repository | string | `"victoriametrics/vmbackupmanager"` | vmbackupmanager image repository | -| vmstorage.vmbackupmanager.image.tag | string | `""` | vmbackupmanager image tag override Chart.AppVersion | -| vmstorage.vmbackupmanager.image.variant | string | `"cluster"` | | -| vmstorage.vmbackupmanager.probe.liveness.failureThreshold | int | `10` | | -| vmstorage.vmbackupmanager.probe.liveness.initialDelaySeconds | int | `30` | | -| vmstorage.vmbackupmanager.probe.liveness.periodSeconds | int | `30` | | -| vmstorage.vmbackupmanager.probe.liveness.tcpSocket.port | string | `"manager-http"` | | -| vmstorage.vmbackupmanager.probe.liveness.timeoutSeconds | int | `5` | | -| vmstorage.vmbackupmanager.probe.readiness.failureThreshold | int | `3` | | -| vmstorage.vmbackupmanager.probe.readiness.httpGet.port | string | `"manager-http"` | | -| vmstorage.vmbackupmanager.probe.readiness.initialDelaySeconds | int | `5` | | -| vmstorage.vmbackupmanager.probe.readiness.periodSeconds | int | `15` | | -| vmstorage.vmbackupmanager.probe.readiness.timeoutSeconds | int | `5` | | -| vmstorage.vmbackupmanager.probe.startup | object | `{}` | | -| vmstorage.vmbackupmanager.resources | object | `{}` | | -| vmstorage.vmbackupmanager.restore | object | `{"onStart":{"enabled":false}}` | Allows to enable restore options for pod. Read more: https://docs.victoriametrics.com/vmbackupmanager#restore-commands | -| vmstorage.vmbackupmanager.retention | object | `{"keepLastDaily":2,"keepLastHourly":2,"keepLastMonthly":2,"keepLastWeekly":2}` | backups' retention settings | -| vmstorage.vmbackupmanager.retention.keepLastDaily | int | `2` | keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off | -| vmstorage.vmbackupmanager.retention.keepLastHourly | int | `2` | keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off | -| vmstorage.vmbackupmanager.retention.keepLastMonthly | int | `2` | keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off | -| vmstorage.vmbackupmanager.retention.keepLastWeekly | int | `2` | keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off | \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
clusterDomainSuffixstring
+cluster.local
+
+

k8s cluster domain suffix, uses for building storage pods’ FQDN. Details are here

+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
extraSecretslist
+[]
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
printNotesbool
+true
+
+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+
serviceAccount.automountTokenbool
+true
+
+
serviceAccount.createbool
+true
+
+
serviceAccount.extraLabelsobject
+{}
+
+
vminsert.affinityobject
+{}
+
+

Pod affinity

+
vminsert.annotationsobject
+{}
+
+
vminsert.automountServiceAccountTokenbool
+true
+
+
vminsert.containerWorkingDirstring
+""
+
+

Container workdir

+
vminsert.enabledbool
+true
+
+

Enable deployment of vminsert component. Deployment is used

+
vminsert.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vminsert.envFromlist
+[]
+
+
vminsert.extraArgs."envflag.enable"string
+"true"
+
+
vminsert.extraArgs."envflag.prefix"string
+VM_
+
+
vminsert.extraArgs.loggerFormatstring
+json
+
+
vminsert.extraContainerslist
+[]
+
+
vminsert.extraLabelsobject
+{}
+
+
vminsert.extraVolumeMountslist
+[]
+
+
vminsert.extraVolumeslist
+[]
+
+
vminsert.fullnameOverridestring
+""
+
+

Overrides the full name of vminsert component

+
vminsert.horizontalPodAutoscaler.behaviorobject
+{}
+
+

Behavior settings for scaling by the HPA

+
vminsert.horizontalPodAutoscaler.enabledbool
+false
+
+

Use HPA for vminsert component

+
vminsert.horizontalPodAutoscaler.maxReplicasint
+10
+
+

Maximum replicas for HPA to use to to scale the vminsert component

+
vminsert.horizontalPodAutoscaler.metricslist
+[]
+
+

Metric for HPA to use to scale the vminsert component

+
vminsert.horizontalPodAutoscaler.minReplicasint
+2
+
+

Minimum replicas for HPA to use to scale the vminsert component

+
vminsert.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
vminsert.image.registrystring
+""
+
+

Image registry

+
vminsert.image.repositorystring
+victoriametrics/vminsert
+
+

Image repository

+
vminsert.image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
vminsert.image.variantstring
+cluster
+
+
vminsert.ingress.annotationsobject
+{}
+
+

Ingress annotations

+
vminsert.ingress.enabledbool
+false
+
+

Enable deployment of ingress for vminsert component

+
vminsert.ingress.extraLabelsobject
+{}
+
+
vminsert.ingress.hostslist
+[]
+
+

Array of host objects

+
vminsert.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
vminsert.ingress.tlslist
+[]
+
+

Array of TLS objects

+
vminsert.initContainerslist
+[]
+
+
vminsert.namestring
+vminsert
+
+

vminsert container name

+
vminsert.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
vminsert.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
vminsert.podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
vminsert.podDisruptionBudget.labelsobject
+{}
+
+
vminsert.podSecurityContext.enabledbool
+false
+
+
vminsert.ports.namestring
+http
+
+
vminsert.priorityClassNamestring
+""
+
+

Name of Priority Class

+
vminsert.probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

vminsert liveness probe

+
vminsert.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vminsert readiness probe

+
vminsert.probe.startupobject
+{}
+
+

vminsert startup probe

+
vminsert.replicaCountint
+2
+
+

Count of vminsert pods

+
vminsert.resourcesobject
+{}
+
+

Resource object

+
vminsert.securityContextobject
+enabled: false
+
+

Pod’s security context. Details are here

+
vminsert.service.annotationsobject
+{}
+
+

Service annotations

+
vminsert.service.clusterIPstring
+""
+
+

Service ClusterIP

+
vminsert.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
vminsert.service.externalTrafficPolicystring
+""
+
+
vminsert.service.extraPortslist
+[]
+
+

Extra service ports

+
vminsert.service.healthCheckNodePortstring
+""
+
+
vminsert.service.ipFamilieslist
+[]
+
+
vminsert.service.ipFamilyPolicystring
+""
+
+
vminsert.service.labelsobject
+{}
+
+

Service labels

+
vminsert.service.loadBalancerIPstring
+""
+
+

Service load balancer IP

+
vminsert.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
vminsert.service.servicePortint
+8480
+
+

Service port

+
vminsert.service.targetPortstring
+http
+
+

Target port

+
vminsert.service.typestring
+ClusterIP
+
+

Service type

+
vminsert.service.udpbool
+false
+
+

Make sure that service is not type “LoadBalancer”, as it requires “MixedProtocolLBService” feature gate. ref: https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/

+
vminsert.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
vminsert.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
vminsert.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for vminsert component. This is Prometheus operator object

+
vminsert.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
vminsert.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
vminsert.serviceMonitor.namespacestring
+""
+
+

Target namespace of ServiceMonitor manifest

+
vminsert.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
vminsert.strategyobject
+{}
+
+
vminsert.suppressStorageFQDNsRenderbool
+false
+
+

Suppress rendering --storageNode FQDNs based on vmstorage.replicaCount value. If true suppress rendering --storageNodes, they can be re-defined in extraArgs

+
vminsert.tolerationslist
+[]
+
+

Array of tolerations object. Details are here

+
vminsert.topologySpreadConstraintslist
+[]
+
+

Pod topologySpreadConstraints

+
vmselect.affinityobject
+{}
+
+

Pod affinity

+
vmselect.annotationsobject
+{}
+
+
vmselect.automountServiceAccountTokenbool
+true
+
+
vmselect.cacheMountPathstring
+/cache
+
+

Cache root folder

+
vmselect.containerWorkingDirstring
+""
+
+

Container workdir

+
vmselect.emptyDirobject
+{}
+
+
vmselect.enabledbool
+true
+
+

Enable deployment of vmselect component. Can be deployed as Deployment(default) or StatefulSet

+
vmselect.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vmselect.envFromlist
+[]
+
+
vmselect.extraArgs."envflag.enable"bool
+true
+
+
vmselect.extraArgs."envflag.prefix"string
+VM_
+
+
vmselect.extraArgs.loggerFormatstring
+json
+
+
vmselect.extraContainerslist
+[]
+
+
vmselect.extraHostPathMountslist
+[]
+
+
vmselect.extraLabelsobject
+{}
+
+
vmselect.extraVolumeMountslist
+[]
+
+
vmselect.extraVolumeslist
+[]
+
+
vmselect.fullnameOverridestring
+""
+
+

Overrides the full name of vmselect component

+
vmselect.horizontalPodAutoscaler.behaviorobject
+{}
+
+

Behavior settings for scaling by the HPA

+
vmselect.horizontalPodAutoscaler.enabledbool
+false
+
+

Use HPA for vmselect component

+
vmselect.horizontalPodAutoscaler.maxReplicasint
+10
+
+

Maximum replicas for HPA to use to to scale the vmselect component

+
vmselect.horizontalPodAutoscaler.metricslist
+[]
+
+

Metric for HPA to use to scale the vmselect component

+
vmselect.horizontalPodAutoscaler.minReplicasint
+2
+
+

Minimum replicas for HPA to use to scale the vmselect component

+
vmselect.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
vmselect.image.registrystring
+""
+
+

Image registry

+
vmselect.image.repositorystring
+victoriametrics/vmselect
+
+

Image repository

+
vmselect.image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
vmselect.image.variantstring
+cluster
+
+
vmselect.ingress.annotationsobject
+{}
+
+

Ingress annotations

+
vmselect.ingress.enabledbool
+false
+
+

Enable deployment of ingress for vmselect component

+
vmselect.ingress.extraLabelsobject
+{}
+
+
vmselect.ingress.hostslist
+[]
+
+

Array of host objects

+
vmselect.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
vmselect.ingress.tlslist
+[]
+
+

Array of TLS objects

+
vmselect.initContainerslist
+[]
+
+
vmselect.namestring
+vmselect
+
+

Vmselect container name

+
vmselect.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
vmselect.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access mode. Must match those of existing PV or dynamic provisioner. Details are here

+
vmselect.persistentVolume.annotationsobject
+{}
+
+

Persistent volume annotations

+
vmselect.persistentVolume.enabledbool
+false
+
+

Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim

+
vmselect.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. Requires vmselect.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound

+
vmselect.persistentVolume.labelsobject
+{}
+
+

Persistent volume labels

+
vmselect.persistentVolume.sizestring
+2Gi
+
+

Size of the volume. Better to set the same as resource limit memory property

+
vmselect.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
vmselect.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
vmselect.podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
vmselect.podDisruptionBudget.labelsobject
+{}
+
+
vmselect.podSecurityContext.enabledbool
+true
+
+
vmselect.ports.namestring
+http
+
+
vmselect.priorityClassNamestring
+""
+
+

Name of Priority Class

+
vmselect.probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

vmselect liveness probe

+
vmselect.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vmselect readiness probe

+
vmselect.probe.startupobject
+{}
+
+

vmselect startup probe

+
vmselect.replicaCountint
+2
+
+

Count of vmselect pods

+
vmselect.resourcesobject
+{}
+
+

Resource object

+
vmselect.securityContextobject
+enabled: true
+
+

Pod’s security context. Details are here

+
vmselect.service.annotationsobject
+{}
+
+

Service annotations

+
vmselect.service.clusterIPstring
+""
+
+

Service ClusterIP

+
vmselect.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
vmselect.service.externalTrafficPolicystring
+""
+
+
vmselect.service.extraPortslist
+[]
+
+

Extra service ports

+
vmselect.service.healthCheckNodePortstring
+""
+
+
vmselect.service.ipFamilieslist
+[]
+
+
vmselect.service.ipFamilyPolicystring
+""
+
+
vmselect.service.labelsobject
+{}
+
+

Service labels

+
vmselect.service.loadBalancerIPstring
+""
+
+

Service load balacner IP

+
vmselect.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
vmselect.service.servicePortint
+8481
+
+

Service port

+
vmselect.service.targetPortstring
+http
+
+

Target port

+
vmselect.service.typestring
+ClusterIP
+
+

Service type

+
vmselect.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
vmselect.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
vmselect.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for vmselect component. This is Prometheus operator object

+
vmselect.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
vmselect.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
vmselect.serviceMonitor.namespacestring
+""
+
+

Target namespace of ServiceMonitor manifest

+
vmselect.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
vmselect.statefulSet.enabledbool
+false
+
+

Deploy StatefulSet instead of Deployment for vmselect. Useful if you want to keep cache data.

+
vmselect.statefulSet.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
vmselect.strategyobject
+{}
+
+
vmselect.suppressStorageFQDNsRenderbool
+false
+
+

Suppress rendering --storageNode FQDNs based on vmstorage.replicaCount value. If true suppress rendering --storageNodes, they can be re-defined in extraArgs

+
vmselect.tolerationslist
+[]
+
+

Array of tolerations object. Details are here

+
vmselect.topologySpreadConstraintslist
+[]
+
+

Pod topologySpreadConstraints

+
vmstorage.affinityobject
+{}
+
+

Pod affinity

+
vmstorage.annotationsobject
+{}
+
+
vmstorage.automountServiceAccountTokenbool
+true
+
+
vmstorage.containerWorkingDirstring
+""
+
+

Container workdir

+
vmstorage.emptyDirobject
+{}
+
+
vmstorage.enabledbool
+true
+
+

Enable deployment of vmstorage component. StatefulSet is used

+
vmstorage.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vmstorage.envFromlist
+[]
+
+
vmstorage.extraArgs."envflag.enable"string
+"true"
+
+
vmstorage.extraArgs."envflag.prefix"string
+VM_
+
+
vmstorage.extraArgs.loggerFormatstring
+json
+
+
vmstorage.extraContainerslist
+[]
+
+
vmstorage.extraHostPathMountslist
+[]
+
+
vmstorage.extraLabelsobject
+{}
+
+
vmstorage.extraSecretMountslist
+[]
+
+
vmstorage.extraVolumeMountslist
+[]
+
+
vmstorage.extraVolumeslist
+[]
+
+
vmstorage.fullnameOverridestring
+null
+
+

Overrides the full name of vmstorage component

+
vmstorage.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
vmstorage.image.registrystring
+""
+
+

Image registry

+
vmstorage.image.repositorystring
+victoriametrics/vmstorage
+
+

Image repository

+
vmstorage.image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
vmstorage.image.variantstring
+cluster
+
+
vmstorage.initContainerslist
+[]
+
+
vmstorage.namestring
+vmstorage
+
+

vmstorage container name

+
vmstorage.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
vmstorage.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
vmstorage.persistentVolume.annotationsobject
+{}
+
+

Persistent volume annotations

+
vmstorage.persistentVolume.enabledbool
+true
+
+

Create/use Persistent Volume Claim for vmstorage component. Empty dir if false. If true, vmstorage will create/use a Persistent Volume Claim

+
vmstorage.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. Requires vmstorage.persistentVolume.enabled: true. If defined, PVC must be created manually before volume will be bound

+
vmstorage.persistentVolume.labelsobject
+{}
+
+

Persistent volume labels

+
vmstorage.persistentVolume.mountPathstring
+/storage
+
+

Data root path. Vmstorage data Persistent Volume mount root path

+
vmstorage.persistentVolume.namestring
+vmstorage-volume
+
+
vmstorage.persistentVolume.sizestring
+8Gi
+
+

Size of the volume.

+
vmstorage.persistentVolume.storageClassNamestring
+""
+
+

Storage class name. Will be empty if not setted

+
vmstorage.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
vmstorage.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
vmstorage.podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
vmstorage.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
vmstorage.podSecurityContext.enabledbool
+false
+
+
vmstorage.ports.namestring
+http
+
+
vmstorage.priorityClassNamestring
+""
+
+

Name of Priority Class

+
vmstorage.probe.livenessobject
+failureThreshold: 10
+initialDelaySeconds: 30
+periodSeconds: 30
+tcpSocket: {}
+timeoutSeconds: 5
+
+

vmstorage liveness probe

+
vmstorage.probe.readinessobject
+failureThreshold: 3
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vmstorage readiness probe

+
vmstorage.probe.startupobject
+{}
+
+

vmstorage startup probe

+
vmstorage.replicaCountint
+2
+
+

Count of vmstorage pods

+
vmstorage.resourcesobject
+{}
+
+

Resource object. Details are here

+
vmstorage.retentionPeriodint
+1
+
+

Data retention period. Supported values 1w, 1d, number without measurement means month, e.g. 2 = 2month

+
vmstorage.securityContextobject
+enabled: false
+
+

Pod’s security context. Details are here

+
vmstorage.service.annotationsobject
+{}
+
+

Service annotations

+
vmstorage.service.externalTrafficPolicystring
+""
+
+
vmstorage.service.extraPortslist
+[]
+
+

Extra service ports

+
vmstorage.service.healthCheckNodePortstring
+""
+
+
vmstorage.service.ipFamilieslist
+[]
+
+
vmstorage.service.ipFamilyPolicystring
+""
+
+
vmstorage.service.labelsobject
+{}
+
+

Service labels

+
vmstorage.service.servicePortint
+8482
+
+

Service port

+
vmstorage.service.vminsertPortint
+8400
+
+

Port for accepting connections from vminsert

+
vmstorage.service.vmselectPortint
+8401
+
+

Port for accepting connections from vmselect

+
vmstorage.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
vmstorage.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
vmstorage.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for vmstorage component. This is Prometheus operator object

+
vmstorage.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
vmstorage.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
vmstorage.serviceMonitor.namespacestring
+""
+
+

Target namespace of ServiceMonitor manifest

+
vmstorage.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
vmstorage.terminationGracePeriodSecondsint
+60
+
+

Pod’s termination grace period in seconds

+
vmstorage.tolerationslist
+[]
+
+

Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Details are here #

+
vmstorage.topologySpreadConstraintslist
+[]
+
+

Pod topologySpreadConstraints

+
vmstorage.vmbackupmanager.destinationstring
+""
+
+

backup destination at S3, GCS or local filesystem. Pod name will be included to path!

+
vmstorage.vmbackupmanager.disableDailybool
+false
+
+

disable daily backups

+
vmstorage.vmbackupmanager.disableHourlybool
+false
+
+

disable hourly backups

+
vmstorage.vmbackupmanager.disableMonthlybool
+false
+
+

disable monthly backups

+
vmstorage.vmbackupmanager.disableWeeklybool
+false
+
+

disable weekly backups

+
vmstorage.vmbackupmanager.enablebool
+false
+
+

enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages

+
vmstorage.vmbackupmanager.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
vmstorage.vmbackupmanager.extraArgs."envflag.enable"string
+"true"
+
+
vmstorage.vmbackupmanager.extraArgs."envflag.prefix"string
+VM_
+
+
vmstorage.vmbackupmanager.extraArgs.loggerFormatstring
+json
+
+
vmstorage.vmbackupmanager.extraSecretMountslist
+[]
+
+
vmstorage.vmbackupmanager.image.registrystring
+""
+
+

vmbackupmanager image registry

+
vmstorage.vmbackupmanager.image.repositorystring
+victoriametrics/vmbackupmanager
+
+

vmbackupmanager image repository

+
vmstorage.vmbackupmanager.image.tagstring
+""
+
+

vmbackupmanager image tag override Chart.AppVersion

+
vmstorage.vmbackupmanager.image.variantstring
+cluster
+
+
vmstorage.vmbackupmanager.probe.livenessobject
+failureThreshold: 10
+initialDelaySeconds: 30
+periodSeconds: 30
+tcpSocket:
+    port: manager-http
+timeoutSeconds: 5
+
+

vmbackupmanager liveness probe

+
vmstorage.vmbackupmanager.probe.readinessobject
+failureThreshold: 3
+httpGet:
+    port: manager-http
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

vmbackupmanager readiness probe

+
vmstorage.vmbackupmanager.probe.startupobject
+{}
+
+

vmbackupmanager startup probe

+
vmstorage.vmbackupmanager.resourcesobject
+{}
+
+
vmstorage.vmbackupmanager.restoreobject
+onStart:
+    enabled: false
+
+

Allows to enable restore options for pod. Read more: https://docs.victoriametrics.com/vmbackupmanager#restore-commands

+
vmstorage.vmbackupmanager.retentionobject
+keepLastDaily: 2
+keepLastHourly: 2
+keepLastMonthly: 2
+keepLastWeekly: 2
+
+

backups’ retention settings

+
vmstorage.vmbackupmanager.retention.keepLastDailyint
+2
+
+

keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off

+
vmstorage.vmbackupmanager.retention.keepLastHourlyint
+2
+
+

keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off

+
vmstorage.vmbackupmanager.retention.keepLastMonthlyint
+2
+
+

keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off

+
vmstorage.vmbackupmanager.retention.keepLastWeeklyint
+2
+
+

keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off

+
+ diff --git a/charts/victoria-metrics-cluster/README.md.gotmpl b/charts/victoria-metrics-cluster/README.md.gotmpl index 65b4bdbbb..cb4812d2a 100644 --- a/charts/victoria-metrics-cluster/README.md.gotmpl +++ b/charts/victoria-metrics-cluster/README.md.gotmpl @@ -100,4 +100,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-cluster/values.yaml`` file. -{{ template "chart.valuesTable" . }} \ No newline at end of file +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-cluster/values.yaml b/charts/victoria-metrics-cluster/values.yaml index 3b579053c..42e5444a2 100644 --- a/charts/victoria-metrics-cluster/values.yaml +++ b/charts/victoria-metrics-cluster/values.yaml @@ -9,7 +9,7 @@ global: openshift: adaptSecurityContext: "auto" -# -- k8s cluster domain suffix, uses for building storage pods' FQDN. Ref: [https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) +# -- k8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) clusterDomainSuffix: cluster.local printNotes: true @@ -84,21 +84,21 @@ vmselect: # name: special-config probe: - # Readiness probe + # -- vmselect readiness probe readiness: httpGet: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 - # Liveness probe + # -- vmselect liveness probe liveness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 - # Startup probe + # -- vmselect startup probe startup: {} horizontalPodAutoscaler: @@ -146,20 +146,20 @@ vmselect: # image: example-image podDisruptionBudget: - # -- See `kubectl explain poddisruptionbudget.spec` for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ + # -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) enabled: false # minAvailable: 1 # maxUnavailable: 1 labels: {} - # -- Array of tolerations object. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) + # -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: [] # - key: "key" # operator: "Equal|Exists" # value: "value" # effect: "NoSchedule|PreferNoSchedule" - # -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: {} # -- Pod affinity affinity: {} @@ -180,7 +180,7 @@ vmselect: # cpu: 50m # memory: 64Mi - # -- Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) securityContext: enabled: true podSecurityContext: @@ -194,7 +194,7 @@ vmselect: labels: {} # -- Service ClusterIP clusterIP: "" - # -- Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips](https://kubernetes.io/docs/user-guide/services/#external-ips) + # -- Service External IPs. Details are [here](https://kubernetes.io/docs/user-guide/services/#external-ips) externalIPs: [] # -- Extra service ports extraPorts: [] @@ -246,7 +246,7 @@ vmselect: # -- Create/use Persistent Volume Claim for vmselect component. Empty dir if false. If true, vmselect will create/use a Persistent Volume Claim enabled: false - # -- Array of access mode. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) + # -- Array of access mode. Must match those of existing PV or dynamic provisioner. Details are [here](http://kubernetes.io/docs/user-guide/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistent volume annotations @@ -337,18 +337,21 @@ vminsert: # Readiness & Liveness probes probe: + # -- vminsert readiness probe readiness: httpGet: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 + # -- vminsert liveness probe liveness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 + # -- vminsert startup probe startup: {} # Horizontal Pod Autoscaling @@ -388,20 +391,20 @@ vminsert: # image: example-image podDisruptionBudget: - # -- 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/) + # -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) enabled: false # minAvailable: 1 # maxUnavailable: 1 labels: {} - # -- Array of tolerations object. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) + # -- Array of tolerations object. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: [] # - key: "key" # operator: "Equal|Exists" # value: "value" # effect: "NoSchedule|PreferNoSchedule" - # -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: {} # -- Pod affinity affinity: {} @@ -421,7 +424,7 @@ vminsert: # requests: # cpu: 50m # memory: 64Mi - # -- Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) securityContext: enabled: false podSecurityContext: @@ -433,7 +436,7 @@ vminsert: labels: {} # -- Service ClusterIP clusterIP: "" - # -- Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips]( https://kubernetes.io/docs/user-guide/services/#external-ips) + # -- Service External IPs. Details are [here]( https://kubernetes.io/docs/user-guide/services/#external-ips) externalIPs: [] # -- Extra service ports extraPorts: [] @@ -590,14 +593,14 @@ vmstorage: # - -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/) + # -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](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/) + # -- Array of tolerations object. Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) ## tolerations: [] @@ -606,7 +609,7 @@ vmstorage: # value: "value" # effect: "NoSchedule|PreferNoSchedule" - # -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: {} # -- Pod affinity @@ -626,7 +629,7 @@ vmstorage: enabled: true name: vmstorage-volume - # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) + # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](http://kubernetes.io/docs/user-guide/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistent volume annotations @@ -656,7 +659,7 @@ vmstorage: # -- Deploy order policy for StatefulSet pods podManagementPolicy: OrderedReady - # -- Resource object. Ref: [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) + # -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) resources: {} # limits: # cpu: 500m @@ -665,7 +668,7 @@ vmstorage: # cpu: 500m # memory: 512Mi - # -- Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) securityContext: enabled: false podSecurityContext: @@ -690,18 +693,21 @@ vmstorage: # -- Pod's termination grace period in seconds terminationGracePeriodSeconds: 60 probe: + # -- vmstorage readiness probe readiness: httpGet: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 + # -- vmstorage liveness probe liveness: tcpSocket: {} initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 10 + # -- vmstorage startup probe startup: {} vmbackupmanager: # -- enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages @@ -750,6 +756,7 @@ vmstorage: # -- Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables env: [] probe: + # -- vmbackupmanager readiness probe readiness: httpGet: port: manager-http @@ -757,6 +764,7 @@ vmstorage: periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 + # -- vmbackupmanager liveness probe liveness: tcpSocket: port: manager-http @@ -764,6 +772,7 @@ vmstorage: periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 10 + # -- vmbackupmanager startup probe startup: {} extraSecretMounts: [] diff --git a/charts/victoria-metrics-distributed/README.md b/charts/victoria-metrics-distributed/README.md index bb6f5e26a..4739c369e 100644 --- a/charts/victoria-metrics-distributed/README.md +++ b/charts/victoria-metrics-distributed/README.md @@ -195,30 +195,419 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-distributed`/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| availabilityZones | list | `[{"allowIngest":true,"allowQuery":true,"extraAffinity":{},"name":"zone-eu-1","nodeSelector":{"topology.kubernetes.io/zone":"zone-eu-1"},"topologySpreadConstraints":[{"maxSkew":1,"topologyKey":"kubernetes.io/hostname","whenUnsatisfiable":"ScheduleAnyway"}],"vmagent":{"annotations":{},"enabled":true,"name":"","spec":{}},"vmauthCrossAZQuery":{"enabled":true,"name":"","spec":{}},"vmauthIngest":{"enabled":true,"name":"","spec":{"extraArgs":{"discoverBackendIPs":"true"}}},"vmauthQueryPerZone":{"enabled":true,"name":"","spec":{"extraArgs":{"discoverBackendIPs":"true"}}},"vmcluster":{"enabled":true,"name":"","spec":{"replicationFactor":2,"retentionPeriod":"14","vminsert":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmselect":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmstorage":{"replicaCount":2,"resources":{},"storageDataPath":"/vm-data"}}}},{"allowIngest":true,"allowQuery":true,"extraAffinity":{},"name":"zone-us-1","nodeSelector":{"topology.kubernetes.io/zone":"zone-us-1"},"topologySpreadConstraints":[{"maxSkew":1,"topologyKey":"kubernetes.io/hostname","whenUnsatisfiable":"ScheduleAnyway"}],"vmagent":{"annotations":{},"enabled":true,"name":"","spec":{}},"vmauthCrossAZQuery":{"enabled":true,"name":"","spec":{}},"vmauthIngest":{"enabled":true,"name":"","spec":{"extraArgs":{"discoverBackendIPs":"true"}}},"vmauthQueryPerZone":{"enabled":true,"name":"","spec":{"extraArgs":{"discoverBackendIPs":"true"}}},"vmcluster":{"enabled":true,"name":"","spec":{"replicationFactor":2,"retentionPeriod":"14","vminsert":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmselect":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmstorage":{"replicaCount":2,"resources":{},"storageDataPath":"/vm-data"}}}}]` | config per availability zone components, including vmagent, vmcluster, vmauth etc | -| availabilityZones[0].allowIngest | bool | `true` | allow data ingestion to this zone | -| availabilityZones[0].allowQuery | bool | `true` | allow data query from this zone through global query endpoint | -| availabilityZones[0].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules | -| availabilityZones[0].nodeSelector | object | `{"topology.kubernetes.io/zone":"zone-eu-1"}` | nodeselector to restrict where pods of this zone can be placed. usually provided by cloud providers. | -| availabilityZones[0].topologySpreadConstraints | list | `[{"maxSkew":1,"topologyKey":"kubernetes.io/hostname","whenUnsatisfiable":"ScheduleAnyway"}]` | topologySpreadConstraints allows to customize the default topologySpreadConstraints. | -| availabilityZones[0].vmagent | object | `{"annotations":{},"enabled":true,"name":"","spec":{}}` | vmagent here only meant to proxy write requests to each az, doesn't support customized other remote write address. | -| availabilityZones[0].vmauthCrossAZQuery | object | `{"enabled":true,"name":"","spec":{}}` | set up a vmauth with all the zone with `allowQuery: true` as query backends | -| availabilityZones[0].vmauthIngest.name | string | `""` | override the name of the vmauth object | -| availabilityZones[0].vmcluster.spec | object | `{"replicationFactor":2,"retentionPeriod":"14","vminsert":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmselect":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmstorage":{"replicaCount":2,"resources":{},"storageDataPath":"/vm-data"}}` | spec for VMCluster crd, see https://docs.victoriametrics.com/operator/api#vmclusterspec | -| availabilityZones[1].allowIngest | bool | `true` | allow data ingestion to this zone | -| availabilityZones[1].allowQuery | bool | `true` | allow data query from this zone through global query endpoint | -| availabilityZones[1].extraAffinity | object | `{}` | extraAffinity adds user defined custom affinity rules | -| availabilityZones[1].nodeSelector | object | `{"topology.kubernetes.io/zone":"zone-us-1"}` | nodeselector to restrict where pods of this zone can be placed. usually provided by cloud providers. | -| availabilityZones[1].topologySpreadConstraints | list | `[{"maxSkew":1,"topologyKey":"kubernetes.io/hostname","whenUnsatisfiable":"ScheduleAnyway"}]` | topologySpreadConstraints allows to customize the default topologySpreadConstraints. | -| availabilityZones[1].vmagent | object | `{"annotations":{},"enabled":true,"name":"","spec":{}}` | vmagent only meant to proxy write requests to each az, doesn't support customized remote write address | -| availabilityZones[1].vmcluster.spec | object | `{"replicationFactor":2,"retentionPeriod":"14","vminsert":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmselect":{"extraArgs":{},"replicaCount":2,"resources":{}},"vmstorage":{"replicaCount":2,"resources":{},"storageDataPath":"/vm-data"}}` | spec for VMCluster crd, see https://docs.victoriametrics.com/operator/api#vmclusterspec | -| enableMultitenancy | bool | `false` | enable multitenancy mode see https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-distributed#how-to-use-multitenancy | -| extraVMAgent | object | `{"enabled":true,"spec":{"selectAllByDefault":true}}` | set up an extra vmagent to scrape all the scrape objects by default, and write data to above vmauth-global-ingest endpoint. | -| fullnameOverride | string | `""` | overrides the chart's computed fullname. | -| nameOverride | string | `"vm-distributed"` | overrides the chart's name | -| victoria-metrics-k8s-stack | object | `{"alertmanager":{"enabled":false},"crds":{"enabled":true},"enabled":true,"grafana":{"enabled":true,"sidecar":{"datasources":{"enabled":true}}},"victoria-metrics-operator":{"enabled":true},"vmagent":{"enabled":false},"vmalert":{"enabled":false},"vmcluster":{"enabled":false},"vmsingle":{"enabled":false}}` | set up vm operator and other resources like vmalert, grafana if needed | -| vmauthIngestGlobal | object | `{"enabled":true,"name":"","spec":{}}` | set up a vmauth as the global write entrypoint | -| vmauthQueryGlobal | object | `{"enabled":true,"name":"","spec":{}}` | set up a vmauth as the global read entrypoint | +<<<<<<< HEAD +======= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
availabilityZoneslist
+- allowIngest: true
+  allowQuery: true
+  extraAffinity: {}
+  name: zone-eu-1
+  nodeSelector:
+    topology.kubernetes.io/zone: zone-eu-1
+  topologySpreadConstraints:
+    - maxSkew: 1
+      topologyKey: kubernetes.io/hostname
+      whenUnsatisfiable: ScheduleAnyway
+  vmagent:
+    annotations: {}
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthCrossAZQuery:
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthIngest:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmauthQueryPerZone:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmcluster:
+    enabled: true
+    name: ""
+    spec:
+        replicationFactor: 2
+        retentionPeriod: "14"
+        vminsert:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmselect:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmstorage:
+            replicaCount: 2
+            resources: {}
+            storageDataPath: /vm-data
+- allowIngest: true
+  allowQuery: true
+  extraAffinity: {}
+  name: zone-us-1
+  nodeSelector:
+    topology.kubernetes.io/zone: zone-us-1
+  topologySpreadConstraints:
+    - maxSkew: 1
+      topologyKey: kubernetes.io/hostname
+      whenUnsatisfiable: ScheduleAnyway
+  vmagent:
+    annotations: {}
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthCrossAZQuery:
+    enabled: true
+    name: ""
+    spec: {}
+  vmauthIngest:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmauthQueryPerZone:
+    enabled: true
+    name: ""
+    spec:
+        extraArgs:
+            discoverBackendIPs: "true"
+  vmcluster:
+    enabled: true
+    name: ""
+    spec:
+        replicationFactor: 2
+        retentionPeriod: "14"
+        vminsert:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmselect:
+            extraArgs: {}
+            replicaCount: 2
+            resources: {}
+        vmstorage:
+            replicaCount: 2
+            resources: {}
+            storageDataPath: /vm-data
+
+

config per availability zone components, including vmagent, vmcluster, vmauth etc

+
availabilityZones[0].allowIngestbool
+true
+
+

allow data ingestion to this zone

+
availabilityZones[0].allowQuerybool
+true
+
+

allow data query from this zone through global query endpoint

+
availabilityZones[0].extraAffinityobject
+{}
+
+

extraAffinity adds user defined custom affinity rules

+
availabilityZones[0].nodeSelectorobject
+topology.kubernetes.io/zone: zone-eu-1
+
+

nodeselector to restrict where pods of this zone can be placed. usually provided by cloud providers.

+
availabilityZones[0].topologySpreadConstraintslist
+- maxSkew: 1
+  topologyKey: kubernetes.io/hostname
+  whenUnsatisfiable: ScheduleAnyway
+
+

topologySpreadConstraints allows to customize the default topologySpreadConstraints.

+
availabilityZones[0].vmagentobject
+annotations: {}
+enabled: true
+name: ""
+spec: {}
+
+

vmagent here only meant to proxy write requests to each az, doesn’t support customized other remote write address.

+
availabilityZones[0].vmauthCrossAZQueryobject
+enabled: true
+name: ""
+spec: {}
+
+

set up a vmauth with all the zone with allowQuery: true as query backends

+
availabilityZones[0].vmauthIngest.namestring
+""
+
+

override the name of the vmauth object

+
availabilityZones[0].vmcluster.specobject
+replicationFactor: 2
+retentionPeriod: "14"
+vminsert:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmselect:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmstorage:
+    replicaCount: 2
+    resources: {}
+    storageDataPath: /vm-data
+
+

spec for VMCluster crd, see https://docs.victoriametrics.com/operator/api#vmclusterspec

+
availabilityZones[1].allowIngestbool
+true
+
+

allow data ingestion to this zone

+
availabilityZones[1].allowQuerybool
+true
+
+

allow data query from this zone through global query endpoint

+
availabilityZones[1].extraAffinityobject
+{}
+
+

extraAffinity adds user defined custom affinity rules

+
availabilityZones[1].nodeSelectorobject
+topology.kubernetes.io/zone: zone-us-1
+
+

nodeselector to restrict where pods of this zone can be placed. usually provided by cloud providers.

+
availabilityZones[1].topologySpreadConstraintslist
+- maxSkew: 1
+  topologyKey: kubernetes.io/hostname
+  whenUnsatisfiable: ScheduleAnyway
+
+

topologySpreadConstraints allows to customize the default topologySpreadConstraints.

+
availabilityZones[1].vmagentobject
+annotations: {}
+enabled: true
+name: ""
+spec: {}
+
+

vmagent only meant to proxy write requests to each az, doesn’t support customized remote write address

+
availabilityZones[1].vmcluster.specobject
+replicationFactor: 2
+retentionPeriod: "14"
+vminsert:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmselect:
+    extraArgs: {}
+    replicaCount: 2
+    resources: {}
+vmstorage:
+    replicaCount: 2
+    resources: {}
+    storageDataPath: /vm-data
+
+

spec for VMCluster crd, see https://docs.victoriametrics.com/operator/api#vmclusterspec

+
enableMultitenancybool
+false
+
+

enable multitenancy mode see https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-distributed#how-to-use-multitenancy

+
extraVMAgentobject
+enabled: true
+spec:
+    selectAllByDefault: true
+
+

set up an extra vmagent to scrape all the scrape objects by default, and write data to above vmauth-global-ingest endpoint.

+
fullnameOverridestring
+""
+
+

overrides the chart’s computed fullname.

+
nameOverridestring
+vm-distributed
+
+

overrides the chart’s name

+
victoria-metrics-k8s-stackobject
+alertmanager:
+    enabled: false
+crds:
+    enabled: true
+enabled: true
+grafana:
+    enabled: true
+    sidecar:
+        datasources:
+            enabled: true
+victoria-metrics-operator:
+    enabled: true
+vmagent:
+    enabled: false
+vmalert:
+    enabled: false
+vmcluster:
+    enabled: false
+vmsingle:
+    enabled: false
+
+

set up vm operator and other resources like vmalert, grafana if needed

+
vmauthIngestGlobalobject
+enabled: true
+name: ""
+spec: {}
+
+

set up a vmauth as the global write entrypoint

+
vmauthQueryGlobalobject
+enabled: true
+name: ""
+spec: {}
+
+

set up a vmauth as the global read entrypoint

+
+ +>>>>>>> 03cfe3e9 (updated readme formatting) diff --git a/charts/victoria-metrics-distributed/README.md.gotmpl b/charts/victoria-metrics-distributed/README.md.gotmpl index bc92be921..9bb7cd48a 100644 --- a/charts/victoria-metrics-distributed/README.md.gotmpl +++ b/charts/victoria-metrics-distributed/README.md.gotmpl @@ -195,6 +195,28 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-distributed`/values.yaml`` file. -{{ template "chart.valuesTable" . }} - +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +<<<<<<< HEAD +======= +{{ template "chart.valuesTableHtml" . }} + +>>>>>>> 03cfe3e9 (updated readme formatting) {{define "twospaces"}} {{end}} diff --git a/charts/victoria-metrics-gateway/README.md b/charts/victoria-metrics-gateway/README.md index b571d953a..cf1446661 100644 --- a/charts/victoria-metrics-gateway/README.md +++ b/charts/victoria-metrics-gateway/README.md @@ -161,6 +161,7 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-gateway/values.yaml`` file. +<<<<<<< HEAD | Key | Type | Default | Description | |-----|------|---------|-------------| | affinity | object | `{}` | Affinity configurations | @@ -205,14 +206,9 @@ Change the values according to the need of the environment in ``victoria-metrics | podAnnotations | object | `{}` | Annotations to be added to pod | | podDisruptionBudget | object | `{"enabled":false,"labels":{}}` | See `kubectl explain poddisruptionbudget.spec` for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | | podSecurityContext.enabled | bool | `true` | | -| probe.liveness.initialDelaySeconds | int | `5` | | -| probe.liveness.periodSeconds | int | `15` | | -| probe.liveness.tcpSocket | object | `{}` | | -| probe.liveness.timeoutSeconds | int | `5` | | -| probe.readiness.httpGet | object | `{}` | | -| probe.readiness.initialDelaySeconds | int | `5` | | -| probe.readiness.periodSeconds | int | `15` | | -| probe.startup | object | `{}` | | +| probe.liveness | object | `{"initialDelaySeconds":5,"periodSeconds":15,"tcpSocket":{},"timeoutSeconds":5}` | liveness probe | +| probe.readiness | object | `{"httpGet":{},"initialDelaySeconds":5,"periodSeconds":15}` | readiness probe | +| probe.startup | object | `{}` | startup probe | | rateLimiter | object | `{"config":{},"datasource":{"url":""},"enable":false}` | Rate limiter configuration. Docs https://docs.victoriametrics.com/vmgateway#rate-limiter | | rateLimiter.datasource.url | string | `""` | Datasource VictoriaMetrics or vmselects. Required. Example http://victoroametrics:8428 or http://vmselect:8481/select/0/prometheus | | rateLimiter.enable | bool | `false` | Enable/Disable rate-limiting | @@ -245,3 +241,766 @@ Change the values according to the need of the environment in ``victoria-metrics | serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | | tolerations | list | `[]` | Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | | write.url | string | `""` | Write endpoint without suffixes, victoriametrics or vminsert. Example http://victoroametrics:8428 or http://vminsert:8480 | +======= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
affinityobject
+{}
+
+

Affinity configurations

+
annotationsobject
+{}
+
+

Annotations to be added to the deployment

+
authobject
+enable: false
+
+

Access Control configuration. https://docs.victoriametrics.com/vmgateway#access-control

+
auth.enablebool
+false
+
+

Enable/Disable access-control

+
clusterModebool
+false
+
+

Specify to True if the source for rate-limiting, reading and writing as a VictoriaMetrics Cluster. Must be true for rate limiting

+
configMapstring
+""
+
+

Use existing configmap if specified otherwise .config values will be used. Ref: https://docs.victoriametrics.com/vmgateway

+
containerWorkingDirstring
+/
+
+
envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables

+
envFromlist
+[]
+
+
extraArgs."envflag.enable"string
+"true"
+
+
extraArgs."envflag.prefix"string
+VM_
+
+
extraArgs.loggerFormatstring
+json
+
+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
image.pullPolicystring
+IfNotPresent
+
+

Pull policy of Docker image

+
image.registrystring
+""
+
+

Victoria Metrics gateway Docker registry

+
image.repositorystring
+victoriametrics/vmgateway
+
+

Victoria Metrics gateway Docker repository and image name

+
image.tagstring
+""
+
+

Tag of Docker image override Chart.AppVersion

+
image.variantstring
+""
+
+
imagePullSecretslist
+[]
+
+
ingress.annotationsobject
+{}
+
+
ingress.enabledbool
+false
+
+
ingress.extraLabelsobject
+{}
+
+
ingress.hostslist
+[]
+
+
ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
ingress.tlslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
nameOverridestring
+""
+
+
nodeSelectorobject
+{}
+
+

NodeSelector configurations. Ref: https://kubernetes.io/docs/user-guide/node-selection/

+
podAnnotationsobject
+{}
+
+

Annotations to be added to pod

+
podDisruptionBudgetobject
+enabled: false
+labels: {}
+
+

See kubectl explain poddisruptionbudget.spec for more. Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/

+
podSecurityContext.enabledbool
+true
+
+
probe.livenessobject
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket: {}
+timeoutSeconds: 5
+
+

liveness probe

+
probe.readinessobject
+httpGet: {}
+initialDelaySeconds: 5
+periodSeconds: 15
+
+

readiness probe

+
probe.startupobject
+{}
+
+

startup probe

+
rateLimiterobject
+config: {}
+datasource:
+    url: ""
+enable: false
+
+

Rate limiter configuration. Docs https://docs.victoriametrics.com/vmgateway#rate-limiter

+
rateLimiter.datasource.urlstring
+""
+
+

Datasource VictoriaMetrics or vmselects. Required. Example http://victoroametrics:8428 or http://vmselect:8481/select/0/prometheus

+
rateLimiter.enablebool
+false
+
+

Enable/Disable rate-limiting

+
read.urlstring
+""
+
+

Read endpoint without suffixes, victoriametrics or vmselect. Example http://victoroametrics:8428 or http://vmselect:8481

+
replicaCountint
+1
+
+

Number of replicas of vmgateway

+
resourcesobject
+{}
+
+

We usually recommend not to specify default resources and to leave this as a conscious choice for the user. This also increases chances charts run on environments with little resources, such as Minikube. If you do want to specify resources, uncomment the following lines, adjust them as necessary, and remove the curly braces after ‘resources:’.

+
securityContext.enabledbool
+true
+
+
securityContext.runAsGroupint
+1000
+
+
securityContext.runAsNonRootbool
+true
+
+
securityContext.runAsUserint
+1000
+
+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.enabledbool
+true
+
+
service.externalIPslist
+[]
+
+
service.extraLabelsobject
+{}
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.servicePortint
+8431
+
+
service.typestring
+ClusterIP
+
+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+null
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
tolerationslist
+[]
+
+

Tolerations configurations. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

+
write.urlstring
+""
+
+

Write endpoint without suffixes, victoriametrics or vminsert. Example http://victoroametrics:8428 or http://vminsert:8480

+
+ +>>>>>>> 03cfe3e9 (updated readme formatting) diff --git a/charts/victoria-metrics-gateway/README.md.gotmpl b/charts/victoria-metrics-gateway/README.md.gotmpl index 971785eee..9b3ed676b 100644 --- a/charts/victoria-metrics-gateway/README.md.gotmpl +++ b/charts/victoria-metrics-gateway/README.md.gotmpl @@ -161,4 +161,27 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-gateway/values.yaml`` file. +<<<<<<< HEAD {{ template "chart.valuesTable" . }} +======= +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} +>>>>>>> 03cfe3e9 (updated readme formatting) diff --git a/charts/victoria-metrics-gateway/values.yaml b/charts/victoria-metrics-gateway/values.yaml index d6aff8b61..e1bad8053 100644 --- a/charts/victoria-metrics-gateway/values.yaml +++ b/charts/victoria-metrics-gateway/values.yaml @@ -226,15 +226,18 @@ write: url: "" probe: + # -- readiness probe readiness: httpGet: {} initialDelaySeconds: 5 periodSeconds: 15 + # -- liveness probe liveness: tcpSocket: {} initialDelaySeconds: 5 periodSeconds: 15 timeoutSeconds: 5 + # -- startup probe startup: {} # -- Enterprise license key configuration for VictoriaMetrics enterprise. diff --git a/charts/victoria-metrics-k8s-stack/README.md b/charts/victoria-metrics-k8s-stack/README.md index 9ae7527e0..390e65c5f 100644 --- a/charts/victoria-metrics-k8s-stack/README.md +++ b/charts/victoria-metrics-k8s-stack/README.md @@ -312,239 +312,2217 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-k8s-stack/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| additionalVictoriaMetricsMap | string | `nil` | | -| alertmanager.annotations | object | `{}` | | -| alertmanager.config.receivers[0].name | string | `"blackhole"` | | -| alertmanager.config.route.receiver | string | `"blackhole"` | | -| alertmanager.config.templates[0] | string | `"/etc/vm/configs/**/*.tmpl"` | | -| alertmanager.enabled | bool | `true` | | -| alertmanager.ingress.annotations | object | `{}` | | -| alertmanager.ingress.enabled | bool | `false` | | -| alertmanager.ingress.extraPaths | list | `[]` | | -| alertmanager.ingress.hosts[0] | string | `"alertmanager.domain.com"` | | -| alertmanager.ingress.labels | object | `{}` | | -| alertmanager.ingress.path | string | `"/"` | | -| alertmanager.ingress.pathType | string | `"Prefix"` | | -| alertmanager.ingress.tls | list | `[]` | | -| alertmanager.monzoTemplate.enabled | bool | `true` | | -| alertmanager.spec.externalURL | string | `""` | | -| alertmanager.spec.image.tag | string | `"v0.25.0"` | | -| alertmanager.spec.port | string | `"9093"` | | -| alertmanager.spec.routePrefix | string | `"/"` | | -| alertmanager.spec.selectAllByDefault | bool | `true` | | -| alertmanager.templateFiles | object | `{}` | | -| argocdReleaseOverride | string | `""` | For correct working need set value 'argocdReleaseOverride=$ARGOCD_APP_NAME' | -| coreDns.enabled | bool | `true` | | -| coreDns.service.enabled | bool | `true` | | -| coreDns.service.port | int | `9153` | | -| coreDns.service.selector.k8s-app | string | `"kube-dns"` | | -| coreDns.service.targetPort | int | `9153` | | -| coreDns.vmScrape | object | `{"spec":{"endpoints":[{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"http-metrics"}],"jobLabel":"jobLabel","namespaceSelector":{"matchNames":["kube-system"]}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| crds.enabled | bool | `true` | | -| dashboards | object | `{"operator":false,"vmalert":false}` | Enable dashboards despite it's dependency is not installed | -| defaultDashboardsEnabled | bool | `true` | Create default dashboards | -| defaultRules | object | `{"alerting":{"spec":{"annotations":{},"labels":{}}},"annotations":{},"create":true,"group":{"spec":{"params":{}}},"groups":{"alertmanager":{"create":true,"rules":{}},"etcd":{"create":true,"rules":{}},"general":{"create":true,"rules":{}},"k8sContainerCpuUsageSecondsTotal":{"create":true,"rules":{}},"k8sContainerMemoryCache":{"create":true,"rules":{}},"k8sContainerMemoryRss":{"create":true,"rules":{}},"k8sContainerMemorySwap":{"create":true,"rules":{}},"k8sContainerMemoryWorkingSetBytes":{"create":true,"rules":{}},"k8sContainerResource":{"create":true,"rules":{}},"k8sPodOwner":{"create":true,"rules":{}},"kubeApiserver":{"create":true,"rules":{}},"kubeApiserverAvailability":{"create":true,"rules":{}},"kubeApiserverBurnrate":{"create":true,"rules":{}},"kubeApiserverHistogram":{"create":true,"rules":{}},"kubeApiserverSlos":{"create":true,"rules":{}},"kubePrometheusGeneral":{"create":true,"rules":{}},"kubePrometheusNodeRecording":{"create":true,"rules":{}},"kubeScheduler":{"create":true,"rules":{}},"kubeStateMetrics":{"create":true,"rules":{}},"kubelet":{"create":true,"rules":{}},"kubernetesApps":{"create":true,"rules":{},"targetNamespace":".*"},"kubernetesResources":{"create":true,"rules":{}},"kubernetesStorage":{"create":true,"rules":{},"targetNamespace":".*"},"kubernetesSystem":{"create":true,"rules":{}},"kubernetesSystemApiserver":{"create":true,"rules":{}},"kubernetesSystemControllerManager":{"create":true,"rules":{}},"kubernetesSystemKubelet":{"create":true,"rules":{}},"kubernetesSystemScheduler":{"create":true,"rules":{}},"node":{"create":true,"rules":{}},"nodeNetwork":{"create":true,"rules":{}},"vmHealth":{"create":true,"rules":{}},"vmagent":{"create":true,"rules":{}},"vmcluster":{"create":true,"rules":{}},"vmoperator":{"create":true,"rules":{}},"vmsingle":{"create":true,"rules":{}}},"labels":{},"recording":{"spec":{"annotations":{},"labels":{}}},"rule":{"spec":{"annotations":{},"labels":{}}},"rules":{},"runbookUrl":"https://runbooks.prometheus-operator.dev/runbooks"}` | Create default rules for monitoring the cluster | -| defaultRules.alerting | object | `{"spec":{"annotations":{},"labels":{}}}` | Common properties for VMRules alerts | -| defaultRules.alerting.spec.annotations | object | `{}` | Additional annotations for VMRule alerts | -| defaultRules.alerting.spec.labels | object | `{}` | Additional labels for VMRule alerts | -| defaultRules.annotations | object | `{}` | Annotations for default rules | -| defaultRules.group | object | `{"spec":{"params":{}}}` | Common properties for VMRule groups | -| defaultRules.group.spec.params | object | `{}` | Optional HTTP URL parameters added to each rule request | -| defaultRules.groups.etcd.rules | object | `{}` | Common properties for all rules in a group | -| defaultRules.labels | object | `{}` | Labels for default rules | -| defaultRules.recording | object | `{"spec":{"annotations":{},"labels":{}}}` | Common properties for VMRules recording rules | -| defaultRules.recording.spec.annotations | object | `{}` | Additional annotations for VMRule recording rules | -| defaultRules.recording.spec.labels | object | `{}` | Additional labels for VMRule recording rules | -| defaultRules.rule | object | `{"spec":{"annotations":{},"labels":{}}}` | Common properties for all VMRules | -| defaultRules.rule.spec.annotations | object | `{}` | Additional annotations for all VMRules | -| defaultRules.rule.spec.labels | object | `{}` | Additional labels for all VMRules | -| defaultRules.rules | object | `{}` | Per rule properties | -| defaultRules.runbookUrl | string | `"https://runbooks.prometheus-operator.dev/runbooks"` | Runbook url prefix for default rules | -| experimentalDashboardsEnabled | bool | `true` | Create experimental dashboards | -| externalVM.read.url | string | `""` | | -| externalVM.write.url | string | `""` | | -| extraObjects | list | `[]` | Add extra objects dynamically to this chart | -| fullnameOverride | string | `""` | | -| global.clusterLabel | string | `"cluster"` | | -| global.license.key | string | `""` | | -| global.license.keyRef | object | `{}` | | -| grafana.additionalDataSources | list | `[]` | | -| grafana.dashboardProviders."dashboardproviders.yaml".apiVersion | int | `1` | | -| grafana.dashboardProviders."dashboardproviders.yaml".providers[0].disableDeletion | bool | `false` | | -| grafana.dashboardProviders."dashboardproviders.yaml".providers[0].editable | bool | `true` | | -| grafana.dashboardProviders."dashboardproviders.yaml".providers[0].folder | string | `""` | | -| grafana.dashboardProviders."dashboardproviders.yaml".providers[0].name | string | `"default"` | | -| grafana.dashboardProviders."dashboardproviders.yaml".providers[0].options.path | string | `"/var/lib/grafana/dashboards/default"` | | -| grafana.dashboardProviders."dashboardproviders.yaml".providers[0].orgId | int | `1` | | -| grafana.dashboardProviders."dashboardproviders.yaml".providers[0].type | string | `"file"` | | -| grafana.dashboards.default.nodeexporter.datasource | string | `"VictoriaMetrics"` | | -| grafana.dashboards.default.nodeexporter.gnetId | int | `1860` | | -| grafana.dashboards.default.nodeexporter.revision | int | `37` | | -| grafana.defaultDashboardsTimezone | string | `"utc"` | | -| grafana.defaultDatasourceType | string | `"prometheus"` | | -| grafana.enabled | bool | `true` | | -| grafana.forceDeployDatasource | bool | `false` | | -| grafana.ingress.annotations | object | `{}` | | -| grafana.ingress.enabled | bool | `false` | | -| grafana.ingress.extraPaths | list | `[]` | | -| grafana.ingress.hosts[0] | string | `"grafana.domain.com"` | | -| grafana.ingress.labels | object | `{}` | | -| grafana.ingress.path | string | `"/"` | | -| grafana.ingress.pathType | string | `"Prefix"` | | -| grafana.ingress.tls | list | `[]` | | -| grafana.provisionDefaultDatasource | bool | `true` | | -| grafana.sidecar.dashboards.additionalDashboardAnnotations | object | `{}` | | -| grafana.sidecar.dashboards.additionalDashboardLabels | object | `{}` | | -| grafana.sidecar.dashboards.enabled | bool | `true` | | -| grafana.sidecar.dashboards.multicluster | bool | `false` | | -| grafana.sidecar.datasources.createVMReplicasDatasources | bool | `false` | | -| grafana.sidecar.datasources.enabled | bool | `true` | | -| grafana.sidecar.datasources.initDatasources | bool | `true` | | -| grafana.sidecar.datasources.jsonData | object | `{}` | | -| grafana.vmScrape | object | `{"enabled":true,"spec":{"endpoints":[{"port":"{{ .Values.grafana.service.portName }}"}],"selector":{"matchLabels":{"app.kubernetes.io/name":"{{ include \"grafana.name\" .Subcharts.grafana }}"}}}}` | node exporter VM scrape config | -| grafanaOperatorDashboardsFormat | object | `{"allowCrossNamespaceImport":false,"enabled":false,"instanceSelector":{"matchLabels":{"dashboards":"grafana"}}}` | Create dashboards as CRDs (reuqires grafana-operator to be installed) | -| kube-state-metrics.enabled | bool | `true` | | -| kube-state-metrics.vmScrape | object | `{"enabled":true,"spec":{"endpoints":[{"honorLabels":true,"metricRelabelConfigs":[{"action":"labeldrop","regex":"(uid|container_id|image_id)"}],"port":"http"}],"jobLabel":"app.kubernetes.io/name","selector":{"matchLabels":{"app.kubernetes.io/instance":"{{ include \"vm.release\" . }}","app.kubernetes.io/name":"{{ include \"kube-state-metrics.name\" (index .Subcharts \"kube-state-metrics\") }}"}}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| kubeApiServer.enabled | bool | `true` | | -| kubeApiServer.vmScrape | object | `{"spec":{"endpoints":[{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"https","scheme":"https","tlsConfig":{"caFile":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","serverName":"kubernetes"}}],"jobLabel":"component","namespaceSelector":{"matchNames":["default"]},"selector":{"matchLabels":{"component":"apiserver","provider":"kubernetes"}}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| kubeControllerManager.enabled | bool | `true` | | -| kubeControllerManager.endpoints | list | `[]` | | -| kubeControllerManager.service.enabled | bool | `true` | | -| kubeControllerManager.service.port | int | `10257` | | -| kubeControllerManager.service.selector.component | string | `"kube-controller-manager"` | | -| kubeControllerManager.service.targetPort | int | `10257` | | -| kubeControllerManager.vmScrape | object | `{"spec":{"endpoints":[{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"http-metrics","scheme":"https","tlsConfig":{"caFile":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","serverName":"kubernetes"}}],"jobLabel":"jobLabel","namespaceSelector":{"matchNames":["kube-system"]}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| kubeDns.enabled | bool | `false` | | -| kubeDns.service.enabled | bool | `false` | | -| kubeDns.service.ports.dnsmasq.port | int | `10054` | | -| kubeDns.service.ports.dnsmasq.targetPort | int | `10054` | | -| kubeDns.service.ports.skydns.port | int | `10055` | | -| kubeDns.service.ports.skydns.targetPort | int | `10055` | | -| kubeDns.service.selector.k8s-app | string | `"kube-dns"` | | -| kubeDns.vmScrape | object | `{"spec":{"endpoints":[{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"http-metrics-dnsmasq"},{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"http-metrics-skydns"}],"jobLabel":"jobLabel","namespaceSelector":{"matchNames":["kube-system"]}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| kubeEtcd.enabled | bool | `true` | | -| kubeEtcd.endpoints | list | `[]` | | -| kubeEtcd.service.enabled | bool | `true` | | -| kubeEtcd.service.port | int | `2379` | | -| kubeEtcd.service.selector.component | string | `"etcd"` | | -| kubeEtcd.service.targetPort | int | `2379` | | -| kubeEtcd.vmScrape | object | `{"spec":{"endpoints":[{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"http-metrics","scheme":"https","tlsConfig":{"caFile":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"}}],"jobLabel":"jobLabel","namespaceSelector":{"matchNames":["kube-system"]}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| kubeProxy.enabled | bool | `false` | | -| kubeProxy.endpoints | list | `[]` | | -| kubeProxy.service.enabled | bool | `true` | | -| kubeProxy.service.port | int | `10249` | | -| kubeProxy.service.selector.k8s-app | string | `"kube-proxy"` | | -| kubeProxy.service.targetPort | int | `10249` | | -| kubeProxy.vmScrape | object | `{"spec":{"endpoints":[{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"http-metrics","scheme":"https","tlsConfig":{"caFile":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"}}],"jobLabel":"jobLabel","namespaceSelector":{"matchNames":["kube-system"]}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| kubeScheduler.enabled | bool | `true` | | -| kubeScheduler.endpoints | list | `[]` | | -| kubeScheduler.service.enabled | bool | `true` | | -| kubeScheduler.service.port | int | `10259` | | -| kubeScheduler.service.selector.component | string | `"kube-scheduler"` | | -| kubeScheduler.service.targetPort | int | `10259` | | -| kubeScheduler.vmScrape | object | `{"spec":{"endpoints":[{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","port":"http-metrics","scheme":"https","tlsConfig":{"caFile":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"}}],"jobLabel":"jobLabel","namespaceSelector":{"matchNames":["kube-system"]}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| kubelet.enabled | bool | `true` | | -| kubelet.vmScrape | object | `{"kind":"VMNodeScrape","spec":{"bearerTokenFile":"/var/run/secrets/kubernetes.io/serviceaccount/token","honorLabels":true,"honorTimestamps":false,"interval":"30s","metricRelabelConfigs":[{"action":"labeldrop","regex":"(uid)"},{"action":"labeldrop","regex":"(id|name)"},{"action":"drop","regex":"(rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)","source_labels":["__name__"]}],"relabelConfigs":[{"action":"labelmap","regex":"__meta_kubernetes_node_label_(.+)"},{"sourceLabels":["__metrics_path__"],"targetLabel":"metrics_path"},{"replacement":"kubelet","targetLabel":"job"}],"scheme":"https","scrapeTimeout":"5s","tlsConfig":{"caFile":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecureSkipVerify":true}}}` | spec for VMNodeScrape crd https://docs.victoriametrics.com/operator/api.html#vmnodescrapespec | -| kubelet.vmScrapes.cadvisor | object | `{"enabled":true,"spec":{"path":"/metrics/cadvisor"}}` | Enable scraping /metrics/cadvisor from kubelet's service | -| kubelet.vmScrapes.kubelet.spec | object | `{}` | | -| kubelet.vmScrapes.probes | object | `{"enabled":true,"spec":{"path":"/metrics/probes"}}` | Enable scraping /metrics/probes from kubelet's service | -| nameOverride | string | `""` | | -| prometheus-node-exporter.enabled | bool | `true` | | -| prometheus-node-exporter.extraArgs[0] | string | `"--collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)"` | | -| prometheus-node-exporter.extraArgs[1] | string | `"--collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"` | | -| prometheus-node-exporter.podLabels.jobLabel | string | `"node-exporter"` | | -| prometheus-node-exporter.vmScrape | object | `{"enabled":true,"spec":{"endpoints":[{"metricRelabelConfigs":[{"action":"drop","regex":"/var/lib/kubelet/pods.+","source_labels":["mountpoint"]}],"port":"metrics"}],"jobLabel":"jobLabel","selector":{"matchLabels":{"app.kubernetes.io/name":"{{ include \"prometheus-node-exporter.name\" (index .Subcharts \"prometheus-node-exporter\") }}"}}}}` | node exporter VM scrape config | -| prometheus-node-exporter.vmScrape.spec | object | `{"endpoints":[{"metricRelabelConfigs":[{"action":"drop","regex":"/var/lib/kubelet/pods.+","source_labels":["mountpoint"]}],"port":"metrics"}],"jobLabel":"jobLabel","selector":{"matchLabels":{"app.kubernetes.io/name":"{{ include \"prometheus-node-exporter.name\" (index .Subcharts \"prometheus-node-exporter\") }}"}}}` | spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec | -| prometheus-operator-crds.enabled | bool | `false` | | -| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | -| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | -| serviceAccount.name | string | `""` | If not set and create is true, a name is generated using the fullname template | -| tenant | string | `"0"` | | -| victoria-metrics-operator | object | `{"cleanupCRD":true,"cleanupImage":{"pullPolicy":"IfNotPresent","repository":"bitnami/kubectl"},"createCRD":false,"enabled":true,"operator":{"disable_prometheus_converter":false}}` | also checkout here possible ENV variables to configure operator behaviour https://docs.victoriametrics.com/operator/vars | -| victoria-metrics-operator.cleanupCRD | bool | `true` | Tells helm to clean up vm cr resources when uninstalling | -| victoria-metrics-operator.operator.disable_prometheus_converter | bool | `false` | By default, operator converts prometheus-operator objects. | -| vmagent.additionalRemoteWrites | list | `[]` | | -| vmagent.annotations | object | `{}` | | -| vmagent.enabled | bool | `true` | | -| vmagent.ingress.annotations | object | `{}` | | -| vmagent.ingress.enabled | bool | `false` | | -| vmagent.ingress.extraPaths | list | `[]` | | -| vmagent.ingress.hosts[0] | string | `"vmagent.domain.com"` | | -| vmagent.ingress.labels | object | `{}` | | -| vmagent.ingress.path | string | `"/"` | | -| vmagent.ingress.pathType | string | `"Prefix"` | | -| vmagent.ingress.tls | list | `[]` | | -| vmagent.spec.externalLabels | object | `{}` | | -| vmagent.spec.extraArgs."promscrape.dropOriginalLabels" | string | `"true"` | | -| vmagent.spec.extraArgs."promscrape.streamParse" | string | `"true"` | | -| vmagent.spec.image.tag | string | `"v1.103.0"` | | -| vmagent.spec.port | string | `"8429"` | | -| vmagent.spec.scrapeInterval | string | `"20s"` | | -| vmagent.spec.selectAllByDefault | bool | `true` | | -| vmalert.additionalNotifierConfigs | object | `{}` | | -| vmalert.annotations | object | `{}` | | -| vmalert.enabled | bool | `true` | | -| vmalert.ingress.annotations | object | `{}` | | -| vmalert.ingress.enabled | bool | `false` | | -| vmalert.ingress.extraPaths | list | `[]` | | -| vmalert.ingress.hosts[0] | string | `"vmalert.domain.com"` | | -| vmalert.ingress.labels | object | `{}` | | -| vmalert.ingress.path | string | `"/"` | | -| vmalert.ingress.pathType | string | `"Prefix"` | | -| vmalert.ingress.tls | list | `[]` | | -| vmalert.remoteWriteVMAgent | bool | `false` | | -| vmalert.spec.evaluationInterval | string | `"15s"` | | -| vmalert.spec.externalLabels | object | `{}` | | -| vmalert.spec.image.tag | string | `"v1.103.0"` | | -| vmalert.spec.port | string | `"8080"` | | -| vmalert.spec.selectAllByDefault | bool | `true` | | -| vmalert.templateFiles | object | `{}` | | -| vmcluster.annotations | object | `{}` | | -| vmcluster.enabled | bool | `false` | | -| vmcluster.ingress.insert.annotations | object | `{}` | | -| vmcluster.ingress.insert.enabled | bool | `false` | | -| vmcluster.ingress.insert.extraPaths | list | `[]` | | -| vmcluster.ingress.insert.hosts[0] | string | `"vminsert.domain.com"` | | -| vmcluster.ingress.insert.labels | object | `{}` | | -| vmcluster.ingress.insert.path | string | `"/"` | | -| vmcluster.ingress.insert.pathType | string | `"Prefix"` | | -| vmcluster.ingress.insert.tls | list | `[]` | | -| vmcluster.ingress.select.annotations | object | `{}` | | -| vmcluster.ingress.select.enabled | bool | `false` | | -| vmcluster.ingress.select.extraPaths | list | `[]` | | -| vmcluster.ingress.select.hosts[0] | string | `"vmselect.domain.com"` | | -| vmcluster.ingress.select.labels | object | `{}` | | -| vmcluster.ingress.select.path | string | `"/"` | | -| vmcluster.ingress.select.pathType | string | `"Prefix"` | | -| vmcluster.ingress.select.tls | list | `[]` | | -| vmcluster.ingress.storage.annotations | object | `{}` | | -| vmcluster.ingress.storage.enabled | bool | `false` | | -| vmcluster.ingress.storage.extraPaths | list | `[]` | | -| vmcluster.ingress.storage.hosts[0] | string | `"vmstorage.domain.com"` | | -| vmcluster.ingress.storage.labels | object | `{}` | | -| vmcluster.ingress.storage.path | string | `"/"` | | -| vmcluster.ingress.storage.pathType | string | `"Prefix"` | | -| vmcluster.ingress.storage.tls | list | `[]` | | -| vmcluster.spec.replicationFactor | int | `2` | | -| vmcluster.spec.retentionPeriod | string | `"1"` | 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. See these [docs](https://docs.victoriametrics.com/single-server-victoriametrics/#retention) | -| vmcluster.spec.vminsert.extraArgs | object | `{}` | | -| vmcluster.spec.vminsert.image.tag | string | `"v1.103.0-cluster"` | | -| vmcluster.spec.vminsert.port | string | `"8480"` | | -| vmcluster.spec.vminsert.replicaCount | int | `2` | | -| vmcluster.spec.vminsert.resources | object | `{}` | | -| vmcluster.spec.vmselect.cacheMountPath | string | `"/select-cache"` | | -| vmcluster.spec.vmselect.extraArgs | object | `{}` | | -| vmcluster.spec.vmselect.image.tag | string | `"v1.103.0-cluster"` | | -| vmcluster.spec.vmselect.port | string | `"8481"` | | -| vmcluster.spec.vmselect.replicaCount | int | `2` | | -| vmcluster.spec.vmselect.resources | object | `{}` | | -| vmcluster.spec.vmselect.storage.volumeClaimTemplate.spec.resources.requests.storage | string | `"2Gi"` | | -| vmcluster.spec.vmstorage.image.tag | string | `"v1.103.0-cluster"` | | -| vmcluster.spec.vmstorage.replicaCount | int | `2` | | -| vmcluster.spec.vmstorage.resources | object | `{}` | | -| vmcluster.spec.vmstorage.storage.volumeClaimTemplate.spec.resources.requests.storage | string | `"10Gi"` | | -| vmcluster.spec.vmstorage.storageDataPath | string | `"/vm-data"` | | -| vmsingle | object | `{"annotations":{},"enabled":true,"ingress":{"annotations":{},"enabled":false,"extraPaths":[],"hosts":["vmsingle.domain.com"],"labels":{},"path":"/","pathType":"Prefix","tls":[]},"spec":{"extraArgs":{},"image":{"tag":"v1.103.0"},"port":"8429","replicaCount":1,"retentionPeriod":"1","storage":{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"20Gi"}}}}}` | Configures vmsingle params | -| vmsingle.spec.retentionPeriod | string | `"1"` | 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. See these [docs](https://docs.victoriametrics.com/single-server-victoriametrics/#retention) | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
additionalVictoriaMetricsMapstring
+null
+
+
alertmanager.annotationsobject
+{}
+
+
alertmanager.configobject
+receivers:
+    - name: blackhole
+route:
+    receiver: blackhole
+templates:
+    - /etc/vm/configs/**/*.tmpl
+
+

alertmanager configuration

+
alertmanager.configSecretstring
+""
+
+

if this one defined, it will be used for alertmanager configuration and config parameter will be ignored

+
alertmanager.enabledbool
+true
+
+
alertmanager.ingressobject
+annotations: {}
+enabled: false
+extraPaths: []
+hosts:
+    - alertmanager.domain.com
+labels: {}
+path: /
+pathType: Prefix
+tls: []
+
+

alertmanager ingress configuration

+
alertmanager.monzoTemplate.enabledbool
+true
+
+
alertmanager.specobject
+externalURL: ""
+image:
+    tag: v0.25.0
+port: "9093"
+routePrefix: /
+selectAllByDefault: true
+
+

full spec for VMAlertmanager CRD. Allowed values described here

+
alertmanager.templateFilesobject
+{}
+
+

extra alert templates

+
argocdReleaseOverridestring
+""
+
+

For correct working need set value ‘argocdReleaseOverride=$ARGOCD_APP_NAME’

+
coreDns.enabledbool
+true
+
+
coreDns.service.enabledbool
+true
+
+
coreDns.service.portint
+9153
+
+
coreDns.service.selector.k8s-appstring
+kube-dns
+
+
coreDns.service.targetPortint
+9153
+
+
coreDns.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
crds.enabledbool
+true
+
+
dashboardsobject
+operator: false
+vmalert: false
+
+

Enable dashboards despite it’s dependency is not installed

+
defaultDashboardsEnabledbool
+true
+
+

Create default dashboards

+
defaultRulesobject
+alerting:
+    spec:
+        annotations: {}
+        labels: {}
+annotations: {}
+create: true
+group:
+    spec:
+        params: {}
+groups:
+    alertmanager:
+        create: true
+        rules: {}
+    etcd:
+        create: true
+        rules: {}
+    general:
+        create: true
+        rules: {}
+    k8sContainerCpuUsageSecondsTotal:
+        create: true
+        rules: {}
+    k8sContainerMemoryCache:
+        create: true
+        rules: {}
+    k8sContainerMemoryRss:
+        create: true
+        rules: {}
+    k8sContainerMemorySwap:
+        create: true
+        rules: {}
+    k8sContainerMemoryWorkingSetBytes:
+        create: true
+        rules: {}
+    k8sContainerResource:
+        create: true
+        rules: {}
+    k8sPodOwner:
+        create: true
+        rules: {}
+    kubeApiserver:
+        create: true
+        rules: {}
+    kubeApiserverAvailability:
+        create: true
+        rules: {}
+    kubeApiserverBurnrate:
+        create: true
+        rules: {}
+    kubeApiserverHistogram:
+        create: true
+        rules: {}
+    kubeApiserverSlos:
+        create: true
+        rules: {}
+    kubePrometheusGeneral:
+        create: true
+        rules: {}
+    kubePrometheusNodeRecording:
+        create: true
+        rules: {}
+    kubeScheduler:
+        create: true
+        rules: {}
+    kubeStateMetrics:
+        create: true
+        rules: {}
+    kubelet:
+        create: true
+        rules: {}
+    kubernetesApps:
+        create: true
+        rules: {}
+        targetNamespace: .*
+    kubernetesResources:
+        create: true
+        rules: {}
+    kubernetesStorage:
+        create: true
+        rules: {}
+        targetNamespace: .*
+    kubernetesSystem:
+        create: true
+        rules: {}
+    kubernetesSystemApiserver:
+        create: true
+        rules: {}
+    kubernetesSystemControllerManager:
+        create: true
+        rules: {}
+    kubernetesSystemKubelet:
+        create: true
+        rules: {}
+    kubernetesSystemScheduler:
+        create: true
+        rules: {}
+    node:
+        create: true
+        rules: {}
+    nodeNetwork:
+        create: true
+        rules: {}
+    vmHealth:
+        create: true
+        rules: {}
+    vmagent:
+        create: true
+        rules: {}
+    vmcluster:
+        create: true
+        rules: {}
+    vmoperator:
+        create: true
+        rules: {}
+    vmsingle:
+        create: true
+        rules: {}
+labels: {}
+recording:
+    spec:
+        annotations: {}
+        labels: {}
+rule:
+    spec:
+        annotations: {}
+        labels: {}
+rules: {}
+runbookUrl: https://runbooks.prometheus-operator.dev/runbooks
+
+

Create default rules for monitoring the cluster

+
defaultRules.alertingobject
+spec:
+    annotations: {}
+    labels: {}
+
+

Common properties for VMRules alerts

+
defaultRules.alerting.spec.annotationsobject
+{}
+
+

Additional annotations for VMRule alerts

+
defaultRules.alerting.spec.labelsobject
+{}
+
+

Additional labels for VMRule alerts

+
defaultRules.annotationsobject
+{}
+
+

Annotations for default rules

+
defaultRules.groupobject
+spec:
+    params: {}
+
+

Common properties for VMRule groups

+
defaultRules.group.spec.paramsobject
+{}
+
+

Optional HTTP URL parameters added to each rule request

+
defaultRules.groups.etcd.rulesobject
+{}
+
+

Common properties for all rules in a group

+
defaultRules.labelsobject
+{}
+
+

Labels for default rules

+
defaultRules.recordingobject
+spec:
+    annotations: {}
+    labels: {}
+
+

Common properties for VMRules recording rules

+
defaultRules.recording.spec.annotationsobject
+{}
+
+

Additional annotations for VMRule recording rules

+
defaultRules.recording.spec.labelsobject
+{}
+
+

Additional labels for VMRule recording rules

+
defaultRules.ruleobject
+spec:
+    annotations: {}
+    labels: {}
+
+

Common properties for all VMRules

+
defaultRules.rule.spec.annotationsobject
+{}
+
+

Additional annotations for all VMRules

+
defaultRules.rule.spec.labelsobject
+{}
+
+

Additional labels for all VMRules

+
defaultRules.rulesobject
+{}
+
+

Per rule properties

+
defaultRules.runbookUrlstring
+https://runbooks.prometheus-operator.dev/runbooks
+
+

Runbook url prefix for default rules

+
experimentalDashboardsEnabledbool
+true
+
+

Create experimental dashboards

+
externalVM.read.urlstring
+""
+
+
externalVM.write.urlstring
+""
+
+
extraObjectslist
+[]
+
+

Add extra objects dynamically to this chart

+
fullnameOverridestring
+""
+
+
global.clusterLabelstring
+cluster
+
+
global.license.keystring
+""
+
+
global.license.keyRefobject
+{}
+
+
grafana.additionalDataSourceslist
+[]
+
+
grafana.dashboardProviders."dashboardproviders.yaml".apiVersionint
+1
+
+
grafana.dashboardProviders."dashboardproviders.yaml".providers[0].disableDeletionbool
+false
+
+
grafana.dashboardProviders."dashboardproviders.yaml".providers[0].editablebool
+true
+
+
grafana.dashboardProviders."dashboardproviders.yaml".providers[0].folderstring
+""
+
+
grafana.dashboardProviders."dashboardproviders.yaml".providers[0].namestring
+default
+
+
grafana.dashboardProviders."dashboardproviders.yaml".providers[0].options.pathstring
+/var/lib/grafana/dashboards/default
+
+
grafana.dashboardProviders."dashboardproviders.yaml".providers[0].orgIdint
+1
+
+
grafana.dashboardProviders."dashboardproviders.yaml".providers[0].typestring
+file
+
+
grafana.dashboards.default.nodeexporter.datasourcestring
+VictoriaMetrics
+
+
grafana.dashboards.default.nodeexporter.gnetIdint
+1860
+
+
grafana.dashboards.default.nodeexporter.revisionint
+37
+
+
grafana.defaultDashboardsTimezonestring
+utc
+
+
grafana.defaultDatasourceTypestring
+prometheus
+
+
grafana.enabledbool
+true
+
+
grafana.forceDeployDatasourcebool
+false
+
+
grafana.ingress.annotationsobject
+{}
+
+
grafana.ingress.enabledbool
+false
+
+
grafana.ingress.extraPathslist
+[]
+
+
grafana.ingress.hosts[0]string
+grafana.domain.com
+
+
grafana.ingress.labelsobject
+{}
+
+
grafana.ingress.pathstring
+/
+
+
grafana.ingress.pathTypestring
+Prefix
+
+
grafana.ingress.tlslist
+[]
+
+
grafana.provisionDefaultDatasourcebool
+true
+
+
grafana.sidecar.dashboards.additionalDashboardAnnotationsobject
+{}
+
+
grafana.sidecar.dashboards.additionalDashboardLabelsobject
+{}
+
+
grafana.sidecar.dashboards.enabledbool
+true
+
+
grafana.sidecar.dashboards.multiclusterbool
+false
+
+
grafana.sidecar.datasources.createVMReplicasDatasourcesbool
+false
+
+
grafana.sidecar.datasources.enabledbool
+true
+
+
grafana.sidecar.datasources.initDatasourcesbool
+true
+
+
grafana.sidecar.datasources.jsonDataobject
+{}
+
+
grafana.vmScrapeobject
+enabled: true
+spec:
+    endpoints:
+        - port: '{{ .Values.grafana.service.portName }}'
+    selector:
+        matchLabels:
+            app.kubernetes.io/name: '{{ include "grafana.name" .Subcharts.grafana }}'
+
+

node exporter VM scrape config

+
grafana.vmScrape.specobject
+endpoints:
+    - port: '{{ .Values.grafana.service.portName }}'
+selector:
+    matchLabels:
+        app.kubernetes.io/name: '{{ include "grafana.name" .Subcharts.grafana }}'
+
+

Scrape configuration for Grafana

+
grafanaOperatorDashboardsFormatobject
+allowCrossNamespaceImport: false
+enabled: false
+instanceSelector:
+    matchLabels:
+        dashboards: grafana
+
+

Create dashboards as CRDs (reuqires grafana-operator to be installed)

+
kube-state-metrics.enabledbool
+true
+
+
kube-state-metrics.vmScrapeobject
+enabled: true
+spec:
+    endpoints:
+        - honorLabels: true
+          metricRelabelConfigs:
+            - action: labeldrop
+              regex: (uid|container_id|image_id)
+          port: http
+    jobLabel: app.kubernetes.io/name
+    selector:
+        matchLabels:
+            app.kubernetes.io/instance: '{{ include "vm.release" . }}'
+            app.kubernetes.io/name: '{{ include "kube-state-metrics.name" (index .Subcharts "kube-state-metrics") }}'
+
+

Scrape configuration for Kube State Metrics

+
kubeApiServer.enabledbool
+true
+
+
kubeApiServer.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: https
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            serverName: kubernetes
+    jobLabel: component
+    namespaceSelector:
+        matchNames:
+            - default
+    selector:
+        matchLabels:
+            component: apiserver
+            provider: kubernetes
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeControllerManager.enabledbool
+true
+
+
kubeControllerManager.endpointslist
+[]
+
+
kubeControllerManager.service.enabledbool
+true
+
+
kubeControllerManager.service.portint
+10257
+
+
kubeControllerManager.service.selector.componentstring
+kube-controller-manager
+
+
kubeControllerManager.service.targetPortint
+10257
+
+
kubeControllerManager.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            serverName: kubernetes
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeDns.enabledbool
+false
+
+
kubeDns.service.enabledbool
+false
+
+
kubeDns.service.ports.dnsmasq.portint
+10054
+
+
kubeDns.service.ports.dnsmasq.targetPortint
+10054
+
+
kubeDns.service.ports.skydns.portint
+10055
+
+
kubeDns.service.ports.skydns.targetPortint
+10055
+
+
kubeDns.service.selector.k8s-appstring
+kube-dns
+
+
kubeDns.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics-dnsmasq
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics-skydns
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeEtcd.enabledbool
+true
+
+
kubeEtcd.endpointslist
+[]
+
+
kubeEtcd.service.enabledbool
+true
+
+
kubeEtcd.service.portint
+2379
+
+
kubeEtcd.service.selector.componentstring
+etcd
+
+
kubeEtcd.service.targetPortint
+2379
+
+
kubeEtcd.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeProxy.enabledbool
+false
+
+
kubeProxy.endpointslist
+[]
+
+
kubeProxy.service.enabledbool
+true
+
+
kubeProxy.service.portint
+10249
+
+
kubeProxy.service.selector.k8s-appstring
+kube-proxy
+
+
kubeProxy.service.targetPortint
+10249
+
+
kubeProxy.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubeScheduler.enabledbool
+true
+
+
kubeScheduler.endpointslist
+[]
+
+
kubeScheduler.service.enabledbool
+true
+
+
kubeScheduler.service.portint
+10259
+
+
kubeScheduler.service.selector.componentstring
+kube-scheduler
+
+
kubeScheduler.service.targetPortint
+10259
+
+
kubeScheduler.vmScrapeobject
+spec:
+    endpoints:
+        - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+          port: http-metrics
+          scheme: https
+          tlsConfig:
+            caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    jobLabel: jobLabel
+    namespaceSelector:
+        matchNames:
+            - kube-system
+
+

spec for VMServiceScrape crd https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec

+
kubelet.enabledbool
+true
+
+
kubelet.vmScrapeobject
+kind: VMNodeScrape
+spec:
+    bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
+    honorLabels: true
+    honorTimestamps: false
+    interval: 30s
+    metricRelabelConfigs:
+        - action: labeldrop
+          regex: (uid)
+        - action: labeldrop
+          regex: (id|name)
+        - action: drop
+          regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)
+          source_labels:
+            - __name__
+    relabelConfigs:
+        - action: labelmap
+          regex: __meta_kubernetes_node_label_(.+)
+        - sourceLabels:
+            - __metrics_path__
+          targetLabel: metrics_path
+        - replacement: kubelet
+          targetLabel: job
+    scheme: https
+    scrapeTimeout: 5s
+    tlsConfig:
+        caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecureSkipVerify: true
+
+

spec for VMNodeScrape crd https://docs.victoriametrics.com/operator/api.html#vmnodescrapespec

+
kubelet.vmScrapes.cadvisorobject
+enabled: true
+spec:
+    path: /metrics/cadvisor
+
+

Enable scraping /metrics/cadvisor from kubelet’s service

+
kubelet.vmScrapes.kubelet.specobject
+{}
+
+
kubelet.vmScrapes.probesobject
+enabled: true
+spec:
+    path: /metrics/probes
+
+

Enable scraping /metrics/probes from kubelet’s service

+
nameOverridestring
+""
+
+
prometheus-node-exporter.enabledbool
+true
+
+
prometheus-node-exporter.extraArgs[0]string
+--collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
+
+
prometheus-node-exporter.extraArgs[1]string
+--collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
+
+
prometheus-node-exporter.podLabels.jobLabelstring
+node-exporter
+
+
prometheus-node-exporter.vmScrapeobject
+enabled: true
+spec:
+    endpoints:
+        - metricRelabelConfigs:
+            - action: drop
+              regex: /var/lib/kubelet/pods.+
+              source_labels:
+                - mountpoint
+          port: metrics
+    jobLabel: jobLabel
+    selector:
+        matchLabels:
+            app.kubernetes.io/name: '{{ include "prometheus-node-exporter.name" (index .Subcharts "prometheus-node-exporter") }}'
+
+

node exporter VM scrape config

+
prometheus-node-exporter.vmScrape.specobject
+endpoints:
+    - metricRelabelConfigs:
+        - action: drop
+          regex: /var/lib/kubelet/pods.+
+          source_labels:
+            - mountpoint
+      port: metrics
+jobLabel: jobLabel
+selector:
+    matchLabels:
+        app.kubernetes.io/name: '{{ include "prometheus-node-exporter.name" (index .Subcharts "prometheus-node-exporter") }}'
+
+

Scrape configuration for Node Exporter

+
prometheus-operator-crds.enabledbool
+false
+
+
serviceAccount.annotationsobject
+{}
+
+

Annotations to add to the service account

+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+""
+
+

If not set and create is true, a name is generated using the fullname template

+
tenantstring
+"0"
+
+
victoria-metrics-operatorobject
+cleanupCRD: true
+cleanupImage:
+    pullPolicy: IfNotPresent
+    repository: bitnami/kubectl
+    tag: ""
+createCRD: false
+enabled: true
+operator:
+    disable_prometheus_converter: false
+
+

also checkout here possible ENV variables to configure operator behaviour https://docs.victoriametrics.com/operator/vars

+
victoria-metrics-operator.cleanupCRDbool
+true
+
+

Tells helm to clean up vm cr resources when uninstalling

+
victoria-metrics-operator.cleanupImage.repositorystring
+bitnami/kubectl
+
+

cleanup image repository

+
victoria-metrics-operator.cleanupImage.tagstring
+""
+
+

use image tag that matches k8s API version by default

+
victoria-metrics-operator.operator.disable_prometheus_converterbool
+false
+
+

By default, operator converts prometheus-operator objects.

+
vmagent.additionalRemoteWriteslist
+[]
+
+

remoteWrite configuration of VMAgent, allowed parameters defined in a spec

+
vmagent.annotationsobject
+{}
+
+
vmagent.enabledbool
+true
+
+
vmagent.ingressobject
+annotations: {}
+enabled: false
+extraPaths: []
+hosts:
+    - vmagent.domain.com
+labels: {}
+path: /
+pathType: Prefix
+tls: []
+
+

vmagent ingress configuration

+
vmagent.ingress.extraPathslist
+[]
+
+

Extra paths to prepend to every host configuration. This is useful when working with annotation based services.

+
vmagent.specobject
+externalLabels: {}
+extraArgs:
+    promscrape.dropOriginalLabels: "true"
+    promscrape.streamParse: "true"
+image:
+    tag: v1.103.0
+port: "8429"
+scrapeInterval: 20s
+selectAllByDefault: true
+
+

full spec for VMAgent CRD. Allowed values described here

+
vmalert.additionalNotifierConfigsobject
+{}
+
+
vmalert.annotationsobject
+{}
+
+
vmalert.enabledbool
+true
+
+
vmalert.ingressobject
+annotations: {}
+enabled: false
+extraPaths: []
+hosts:
+    - vmalert.domain.com
+labels: {}
+path: /
+pathType: Prefix
+tls: []
+
+

vmalert ingress config

+
vmalert.remoteWriteVMAgentbool
+false
+
+
vmalert.specobject
+evaluationInterval: 15s
+externalLabels: {}
+image:
+    tag: v1.103.0
+port: "8080"
+selectAllByDefault: true
+
+

full spec for VMAlert CRD. Allowed values described here

+
vmalert.templateFilesobject
+{}
+
+

extra vmalert annotation templates

+
vmcluster.annotationsobject
+{}
+
+
vmcluster.enabledbool
+false
+
+
vmcluster.ingress.insert.annotationsobject
+{}
+
+
vmcluster.ingress.insert.enabledbool
+false
+
+
vmcluster.ingress.insert.extraPathslist
+[]
+
+
vmcluster.ingress.insert.hosts[0]string
+vminsert.domain.com
+
+
vmcluster.ingress.insert.labelsobject
+{}
+
+
vmcluster.ingress.insert.pathstring
+/
+
+
vmcluster.ingress.insert.pathTypestring
+Prefix
+
+
vmcluster.ingress.insert.tlslist
+[]
+
+
vmcluster.ingress.select.annotationsobject
+{}
+
+
vmcluster.ingress.select.enabledbool
+false
+
+
vmcluster.ingress.select.extraPathslist
+[]
+
+
vmcluster.ingress.select.hosts[0]string
+vmselect.domain.com
+
+
vmcluster.ingress.select.labelsobject
+{}
+
+
vmcluster.ingress.select.pathstring
+/
+
+
vmcluster.ingress.select.pathTypestring
+Prefix
+
+
vmcluster.ingress.select.tlslist
+[]
+
+
vmcluster.ingress.storage.annotationsobject
+{}
+
+
vmcluster.ingress.storage.enabledbool
+false
+
+
vmcluster.ingress.storage.extraPathslist
+[]
+
+
vmcluster.ingress.storage.hosts[0]string
+vmstorage.domain.com
+
+
vmcluster.ingress.storage.labelsobject
+{}
+
+
vmcluster.ingress.storage.pathstring
+/
+
+
vmcluster.ingress.storage.pathTypestring
+Prefix
+
+
vmcluster.ingress.storage.tlslist
+[]
+
+
vmcluster.specobject
+replicationFactor: 2
+retentionPeriod: "1"
+vminsert:
+    extraArgs: {}
+    image:
+        tag: v1.103.0-cluster
+    port: "8480"
+    replicaCount: 2
+    resources: {}
+vmselect:
+    cacheMountPath: /select-cache
+    extraArgs: {}
+    image:
+        tag: v1.103.0-cluster
+    port: "8481"
+    replicaCount: 2
+    resources: {}
+    storage:
+        volumeClaimTemplate:
+            spec:
+                resources:
+                    requests:
+                        storage: 2Gi
+vmstorage:
+    image:
+        tag: v1.103.0-cluster
+    replicaCount: 2
+    resources: {}
+    storage:
+        volumeClaimTemplate:
+            spec:
+                resources:
+                    requests:
+                        storage: 10Gi
+    storageDataPath: /vm-data
+
+

full spec for VMCluster CRD. Allowed values described here

+
vmcluster.spec.retentionPeriodstring
+"1"
+
+

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. See these docs

+
vmsingle.annotationsobject
+{}
+
+
vmsingle.enabledbool
+true
+
+
vmsingle.ingress.annotationsobject
+{}
+
+
vmsingle.ingress.enabledbool
+false
+
+
vmsingle.ingress.extraPathslist
+[]
+
+
vmsingle.ingress.hosts[0]string
+vmsingle.domain.com
+
+
vmsingle.ingress.labelsobject
+{}
+
+
vmsingle.ingress.pathstring
+/
+
+
vmsingle.ingress.pathTypestring
+Prefix
+
+
vmsingle.ingress.tlslist
+[]
+
+
vmsingle.specobject
+extraArgs: {}
+image:
+    tag: v1.103.0
+port: "8429"
+replicaCount: 1
+retentionPeriod: "1"
+storage:
+    accessModes:
+        - ReadWriteOnce
+    resources:
+        requests:
+            storage: 20Gi
+
+

full spec for VMSingle CRD. Allowed values describe here

+
vmsingle.spec.retentionPeriodstring
+"1"
+
+

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. See these docs

+
+ diff --git a/charts/victoria-metrics-k8s-stack/README.md.gotmpl b/charts/victoria-metrics-k8s-stack/README.md.gotmpl index 32aeca880..1b2a80f31 100644 --- a/charts/victoria-metrics-k8s-stack/README.md.gotmpl +++ b/charts/victoria-metrics-k8s-stack/README.md.gotmpl @@ -321,4 +321,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-k8s-stack/values.yaml`` file. -{{ template "chart.valuesTable" . }} +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-k8s-stack/values.yaml b/charts/victoria-metrics-k8s-stack/values.yaml index 0cb9a6dec..f65108c70 100644 --- a/charts/victoria-metrics-k8s-stack/values.yaml +++ b/charts/victoria-metrics-k8s-stack/values.yaml @@ -22,9 +22,10 @@ victoria-metrics-operator: # -- Tells helm to clean up vm cr resources when uninstalling cleanupCRD: true cleanupImage: + # -- cleanup image repository repository: bitnami/kubectl - # use image tag that matches k8s API version by default - # tag: 1.29.6 + # -- use image tag that matches k8s API version by default + tag: "" pullPolicy: IfNotPresent createCRD: false # we disable crd creation by operator chart as we create them in this chart @@ -223,7 +224,7 @@ grafanaOperatorDashboardsFormat: dashboards: "grafana" allowCrossNamespaceImport: false -# Provide custom recording or alerting rules to be deployed into the cluster. +## -- Provide custom recording or alerting rules to be deployed into the cluster. additionalVictoriaMetricsMap: # rule-name: # groups: @@ -246,12 +247,11 @@ externalVM: ############## -# -- Configures vmsingle params +## -- Configures vmsingle params vmsingle: annotations: {} enabled: true - # spec for VMSingle crd - # https://docs.victoriametrics.com/operator/api#vmsinglespec + # -- full spec for VMSingle CRD. Allowed values describe [here](https://docs.victoriametrics.com/operator/api#vmsinglespec) spec: port: "8429" image: @@ -305,8 +305,7 @@ vmsingle: vmcluster: enabled: false annotations: {} - # spec for VMCluster crd - # https://docs.victoriametrics.com/operator/api#vmclusterspec + # -- full spec for VMCluster CRD. Allowed values described [here](https://docs.victoriametrics.com/operator/api#vmclusterspec) spec: # -- 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. See these [docs](https://docs.victoriametrics.com/single-server-victoriametrics/#retention) retentionPeriod: "1" @@ -473,8 +472,7 @@ vmcluster: alertmanager: enabled: true annotations: {} - # spec for VMAlertmanager crd - # https://docs.victoriametrics.com/operator/api#vmalertmanagerspec + # -- (object) full spec for VMAlertmanager CRD. Allowed values described [here](https://docs.victoriametrics.com/operator/api#vmalertmanagerspec) spec: port: "9093" selectAllByDefault: true @@ -483,9 +481,9 @@ alertmanager: externalURL: "" routePrefix: / - # if this one defined, it will be used for alertmanager configuration and config parameter will be ignored - # configSecret: "alertmanager-config" - + # -- (string) if this one defined, it will be used for alertmanager configuration and config parameter will be ignored + configSecret: "" + # -- (object) alertmanager configuration config: templates: - "/etc/vm/configs/**/*.tmpl" @@ -593,7 +591,7 @@ alertmanager: monzoTemplate: enabled: true - # extra alert templates + # -- (object) extra alert templates templateFiles: {} # template_1.tmpl: |- @@ -602,6 +600,7 @@ alertmanager: # {{- end }} # template_2.tmpl: "" + # -- (object) alertmanager ingress configuration ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName @@ -644,8 +643,7 @@ vmalert: # Controls whether VMAlert should use VMAgent or VMInsert as a target for remotewrite remoteWriteVMAgent: false - # spec for VMAlert crd - # https://docs.victoriametrics.com/operator/api#vmalertspec + # -- (object) full spec for VMAlert CRD. Allowed values described [here](https://docs.victoriametrics.com/operator/api#vmalertspec) spec: port: "8080" selectAllByDefault: true @@ -656,7 +654,7 @@ vmalert: # External labels to add to all generated recording rules and alerts externalLabels: {} - # extra vmalert annotation templates + # -- (object) extra vmalert annotation templates templateFiles: {} # template_1.tmpl: |- @@ -674,7 +672,7 @@ vmalert: # - my.domain.com # type: 'A' # port: 9093 - + # -- (object) vmalert ingress config ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName @@ -714,13 +712,11 @@ vmalert: vmagent: enabled: true annotations: {} - # https://docs.victoriametrics.com/operator/api#vmagentremotewritespec - # defined spec will be added to the remoteWrite configuration of VMAgent + # -- remoteWrite configuration of VMAgent, allowed parameters defined in a [spec](https://docs.victoriametrics.com/operator/api#vmagentremotewritespec) additionalRemoteWrites: [] #- url: http://some-remote-write/api/v1/write - # spec for VMAgent crd - # https://docs.victoriametrics.com/operator/api#vmagentspec + # -- (object) full spec for VMAgent CRD. Allowed values described [here](https://docs.victoriametrics.com/operator/api#vmagentspec) spec: port: "8429" selectAllByDefault: true @@ -736,6 +732,7 @@ vmagent: # Do not store original labels in vmagent's memory by default. This reduces the amount of memory used by vmagent # but makes vmagent debugging UI less informative. See: https://docs.victoriametrics.com/vmagent/#relabel-debug promscrape.dropOriginalLabels: "true" + # -- (object) vmagent ingress configuration ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName @@ -753,7 +750,7 @@ vmagent: hosts: - vmagent.domain.com - ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. + # -- Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: @@ -892,8 +889,7 @@ grafana: # whether we should create a service scrape resource for grafana enabled: true - # spec for VMServiceScrape crd - # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec + # -- [Scrape configuration](https://docs.victoriametrics.com/operator/api#vmservicescrapespec) for Grafana spec: selector: matchLabels: @@ -918,8 +914,7 @@ prometheus-node-exporter: # whether we should create a service scrape resource for node-exporter enabled: true - # -- spec for VMServiceScrape crd - # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec + # -- [Scrape configuration](https://docs.victoriametrics.com/operator/api#vmservicescrapespec) for Node Exporter spec: jobLabel: jobLabel selector: @@ -936,8 +931,7 @@ kube-state-metrics: enabled: true ## all values for kube-state-metrics helm chart can be specified here - # -- spec for VMServiceScrape crd - # https://docs.victoriametrics.com/operator/api.html#vmservicescrapespec + # -- [Scrape configuration](https://docs.victoriametrics.com/operator/api#vmservicescrapespec) for Kube State Metrics vmScrape: enabled: true spec: @@ -1070,6 +1064,7 @@ kubeControllerManager: # Component scraping kubeDns. Use either this or coreDns kubeDns: enabled: false + # -- service: enabled: false ports: diff --git a/charts/victoria-metrics-operator/README.md b/charts/victoria-metrics-operator/README.md index 6295d7db3..292de99cc 100644 --- a/charts/victoria-metrics-operator/README.md +++ b/charts/victoria-metrics-operator/README.md @@ -169,86 +169,771 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-operator/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| admissionWebhooks | object | `{"certManager":{"enabled":false,"issuer":{}},"enabled":true,"enabledCRDValidation":{"vlogs":true,"vmagent":true,"vmalert":true,"vmalertmanager":true,"vmalertmanagerconfig":true,"vmauth":true,"vmcluster":true,"vmrule":true,"vmsingle":true,"vmuser":true},"keepTLSSecret":true,"policy":"Fail","tls":{"caCert":null,"cert":null,"key":null}}` | Configures resource validation | -| admissionWebhooks.certManager | object | `{"enabled":false,"issuer":{}}` | with keys: tls.key, tls.crt, ca.crt | -| admissionWebhooks.certManager.enabled | bool | `false` | Enables cert creation and injection by cert-manager. | -| admissionWebhooks.certManager.issuer | object | `{}` | If needed, provide own issuer. Operator will create self-signed if empty. | -| admissionWebhooks.enabled | bool | `true` | Enables validation webhook. | -| admissionWebhooks.policy | string | `"Fail"` | What to do in case, when operator not available to validate request. | -| affinity | object | `{}` | Pod affinity | -| annotations | object | `{}` | Annotations to be added to the all resources | -| cleanupCRD | bool | `false` | deprecated. See `crd.cleanup.enabled` | -| cleanupImage | object | `{"pullPolicy":"IfNotPresent","repository":"bitnami/kubectl","tag":""}` | deprecated. See `crd.cleanup.image` | -| crd.cleanup.enabled | bool | `false` | Tells helm to clean up all the vm resources under this release's namespace when uninstalling | -| crd.cleanup.image.pullPolicy | string | `"IfNotPresent"` | | -| crd.cleanup.image.repository | string | `"bitnami/kubectl"` | | -| crd.cleanup.image.tag | string | `""` | | -| crd.create | bool | `true` | with this option, if you remove this chart, all crd resources will be deleted with it. | -| createCRD | bool | `true` | deprecated. See `crd.create` | -| env | list | `[]` | extra settings for the operator deployment. full list Ref: [https://github.com/VictoriaMetrics/operator/blob/master/vars.MD](https://github.com/VictoriaMetrics/operator/blob/master/vars.MD) | -| envFrom | list | `[]` | | -| extraArgs | object | `{}` | operator container additional commandline arguments | -| extraContainers | list | `[]` | | -| extraHostPathMounts | list | `[]` | Additional hostPath mounts | -| extraLabels | object | `{}` | Labels to be added to the all resources | -| extraObjects | list | `[]` | Add extra specs dynamically to this chart | -| extraVolumeMounts | list | `[]` | Extra Volume Mounts for the container | -| extraVolumes | list | `[]` | Extra Volumes for the pod | -| fullnameOverride | string | `""` | Overrides the full name of server component | -| global.cluster.dnsDomain | string | `"cluster.local"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| image.registry | string | `""` | Image registry | -| image.repository | string | `"victoriametrics/operator"` | Image repository | -| image.tag | string | `""` | Image tag override Chart.AppVersion | -| image.variant | string | `""` | | -| imagePullSecrets | list | `[]` | Secret to pull images | -| logLevel | string | `"info"` | possible values: info and error. | -| nameOverride | string | `""` | VM operatror deployment name override | -| nodeSelector | object | `{}` | Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/ | -| operator.disable_prometheus_converter | bool | `false` | By default, operator converts prometheus-operator objects. | -| operator.enable_converter_ownership | bool | `false` | Enables ownership reference for converted prometheus-operator objects, it will remove corresponding victoria-metrics objects in case of deletion prometheus one. | -| operator.prometheus_converter_add_argocd_ignore_annotations | bool | `false` | Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD | -| operator.useCustomConfigReloader | bool | `false` | Enables custom config-reloader, bundled with operator. It should reduce vmagent and vmauth config sync-time and make it predictable. | -| podDisruptionBudget.enabled | bool | `false` | | -| podDisruptionBudget.labels | object | `{}` | | -| podLabels | object | `{}` | | -| podSecurityContext | object | `{}` | | -| probe.liveness.failureThreshold | int | `3` | | -| probe.liveness.initialDelaySeconds | int | `5` | | -| probe.liveness.periodSeconds | int | `15` | | -| probe.liveness.tcpSocket.port | string | `"probe"` | | -| probe.liveness.timeoutSeconds | int | `5` | | -| probe.readiness.failureThreshold | int | `3` | | -| probe.readiness.httpGet.port | string | `"probe"` | | -| probe.readiness.initialDelaySeconds | int | `5` | | -| probe.readiness.periodSeconds | int | `15` | | -| probe.readiness.timeoutSeconds | int | `5` | | -| probe.startup | object | `{}` | | -| rbac.aggregatedClusterRoles | object | `{"enabled":true,"labels":{"admin":{"rbac.authorization.k8s.io/aggregate-to-admin":"true"},"view":{"rbac.authorization.k8s.io/aggregate-to-view":"true"}}}` | create aggregated clusterRoles for CRD readonly and admin permissions | -| rbac.aggregatedClusterRoles.labels | object | `{"admin":{"rbac.authorization.k8s.io/aggregate-to-admin":"true"},"view":{"rbac.authorization.k8s.io/aggregate-to-view":"true"}}` | labels attached to according clusterRole | -| rbac.create | bool | `true` | Specifies whether the RBAC resources should be created | -| replicaCount | int | `1` | | -| resources | object | `{}` | Resource object | -| securityContext | object | `{}` | | -| service.annotations | object | `{}` | | -| service.clusterIP | string | `""` | | -| service.externalIPs | string | `""` | | -| service.externalTrafficPolicy | string | `""` | | -| service.healthCheckNodePort | string | `""` | | -| service.ipFamilies | list | `[]` | | -| service.ipFamilyPolicy | string | `""` | | -| service.labels | object | `{}` | | -| service.loadBalancerIP | string | `""` | | -| service.loadBalancerSourceRanges | list | `[]` | | -| service.type | string | `"ClusterIP"` | | -| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | -| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | -| serviceMonitor | object | `{"annotations":{},"basicAuth":{},"enabled":false,"extraLabels":{},"interval":"","relabelings":[],"scheme":"","scrapeTimeout":"","tlsConfig":{}}` | configures monitoring with serviceScrape. VMServiceScrape must be pre-installed | -| tolerations | list | `[]` | Array of tolerations object. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) | -| topologySpreadConstraints | list | `[]` | Pod Topology Spread Constraints. Ref: [https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) | -| watchNamespace | string | `""` | deprecated. See `watchNamespaces` | -| watchNamespaces | list | `[]` | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
admissionWebhooksobject
+certManager:
+    enabled: false
+    issuer: {}
+enabled: true
+enabledCRDValidation:
+    vlogs: true
+    vmagent: true
+    vmalert: true
+    vmalertmanager: true
+    vmalertmanagerconfig: true
+    vmauth: true
+    vmcluster: true
+    vmrule: true
+    vmsingle: true
+    vmuser: true
+keepTLSSecret: true
+policy: Fail
+tls:
+    caCert: null
+    cert: null
+    key: null
+
+

Configures resource validation

+
admissionWebhooks.certManagerobject
+enabled: false
+issuer: {}
+
+

with keys: tls.key, tls.crt, ca.crt

+
admissionWebhooks.certManager.enabledbool
+false
+
+

Enables cert creation and injection by cert-manager.

+
admissionWebhooks.certManager.issuerobject
+{}
+
+

If needed, provide own issuer. Operator will create self-signed if empty.

+
admissionWebhooks.enabledbool
+true
+
+

Enables validation webhook.

+
admissionWebhooks.policystring
+Fail
+
+

What to do in case, when operator not available to validate request.

+
affinityobject
+{}
+
+

Pod affinity

+
annotationsobject
+{}
+
+

Annotations to be added to the all resources

+
cleanupCRDbool
+false
+
+

deprecated. See crd.cleanup.enabled

+
cleanupImageobject
+pullPolicy: IfNotPresent
+repository: bitnami/kubectl
+tag: ""
+
+

deprecated. See crd.cleanup.image

+
crd.cleanup.enabledbool
+false
+
+

Tells helm to clean up all the vm resources under this release’s namespace when uninstalling

+
crd.cleanup.image.pullPolicystring
+IfNotPresent
+
+
crd.cleanup.image.repositorystring
+bitnami/kubectl
+
+
crd.cleanup.image.tagstring
+""
+
+
crd.createbool
+true
+
+

with this option, if you remove this chart, all crd resources will be deleted with it.

+
createCRDbool
+true
+
+

deprecated. See crd.create

+
envlist
+[]
+
+

extra settings for the operator deployment. Full list here

+
envFromlist
+[]
+
+
extraArgsobject
+{}
+
+

operator container additional commandline arguments

+
extraContainerslist
+[]
+
+
extraHostPathMountslist
+[]
+
+

Additional hostPath mounts

+
extraLabelsobject
+{}
+
+

Labels to be added to the all resources

+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
extraVolumeMountslist
+[]
+
+

Extra Volume Mounts for the container

+
extraVolumeslist
+[]
+
+

Extra Volumes for the pod

+
fullnameOverridestring
+""
+
+

Overrides the full name of server component

+
global.cluster.dnsDomainstring
+cluster.local
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
imageobject
+pullPolicy: IfNotPresent
+registry: ""
+repository: victoriametrics/operator
+tag: ""
+variant: ""
+
+

operator image configuration

+
image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
image.registrystring
+""
+
+

Image registry

+
image.repositorystring
+victoriametrics/operator
+
+

Image repository

+
image.tagstring
+""
+
+

Image tag override Chart.AppVersion

+
imagePullSecretslist
+[]
+
+

Secret to pull images

+
logLevelstring
+info
+
+

possible values: info and error.

+
nameOverridestring
+""
+
+

VM operatror deployment name override

+
nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
operator.disable_prometheus_converterbool
+false
+
+

By default, operator converts prometheus-operator objects.

+
operator.enable_converter_ownershipbool
+false
+
+

Enables ownership reference for converted prometheus-operator objects, it will remove corresponding victoria-metrics objects in case of deletion prometheus one.

+
operator.prometheus_converter_add_argocd_ignore_annotationsbool
+false
+
+

Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD

+
operator.useCustomConfigReloaderbool
+false
+
+

Enables custom config-reloader, bundled with operator. It should reduce vmagent and vmauth config sync-time and make it predictable.

+
podDisruptionBudget.enabledbool
+false
+
+
podDisruptionBudget.labelsobject
+{}
+
+
podLabelsobject
+{}
+
+
podSecurityContextobject
+{}
+
+
probe.livenessobject
+failureThreshold: 3
+initialDelaySeconds: 5
+periodSeconds: 15
+tcpSocket:
+    port: probe
+timeoutSeconds: 5
+
+

Liveness probe

+
probe.readinessobject
+failureThreshold: 3
+httpGet:
+    port: probe
+initialDelaySeconds: 5
+periodSeconds: 15
+timeoutSeconds: 5
+
+

Readiness probe

+
probe.startupobject
+{}
+
+

Startup probe

+
rbac.aggregatedClusterRolesobject
+enabled: true
+labels:
+    admin:
+        rbac.authorization.k8s.io/aggregate-to-admin: "true"
+    view:
+        rbac.authorization.k8s.io/aggregate-to-view: "true"
+
+

create aggregated clusterRoles for CRD readonly and admin permissions

+
rbac.aggregatedClusterRoles.labelsobject
+admin:
+    rbac.authorization.k8s.io/aggregate-to-admin: "true"
+view:
+    rbac.authorization.k8s.io/aggregate-to-view: "true"
+
+

labels attached to according clusterRole

+
rbac.createbool
+true
+
+

Specifies whether the RBAC resources should be created

+
replicaCountint
+1
+
+
resourcesobject
+{}
+
+

Resource object

+
securityContextobject
+{}
+
+
service.annotationsobject
+{}
+
+
service.clusterIPstring
+""
+
+
service.externalIPsstring
+""
+
+
service.externalTrafficPolicystring
+""
+
+
service.healthCheckNodePortstring
+""
+
+
service.ipFamilieslist
+[]
+
+
service.ipFamilyPolicystring
+""
+
+
service.labelsobject
+{}
+
+
service.loadBalancerIPstring
+""
+
+
service.loadBalancerSourceRangeslist
+[]
+
+
service.typestring
+ClusterIP
+
+
serviceAccount.createbool
+true
+
+

Specifies whether a service account should be created

+
serviceAccount.namestring
+""
+
+

The name of the service account to use. If not set and create is true, a name is generated using the fullname template

+
serviceMonitorobject
+annotations: {}
+basicAuth: {}
+enabled: false
+extraLabels: {}
+interval: ""
+relabelings: []
+scheme: ""
+scrapeTimeout: ""
+tlsConfig: {}
+
+

configures monitoring with serviceScrape. VMServiceScrape must be pre-installed

+
tolerationslist
+[]
+
+

Array of tolerations object. Spec is here

+
topologySpreadConstraintslist
+[]
+
+

Pod Topology Spread Constraints. Spec is here

+
watchNamespacestring
+""
+
+

deprecated. See watchNamespaces

+
watchNamespaceslist
+[]
+
+
+ diff --git a/charts/victoria-metrics-operator/README.md.gotmpl b/charts/victoria-metrics-operator/README.md.gotmpl index d83471a7d..d9896eff4 100644 --- a/charts/victoria-metrics-operator/README.md.gotmpl +++ b/charts/victoria-metrics-operator/README.md.gotmpl @@ -169,4 +169,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-operator/values.yaml`` file. -{{ template "chart.valuesTable" . }} +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-operator/values.yaml b/charts/victoria-metrics-operator/values.yaml index e33cdca4f..e566bd1b9 100644 --- a/charts/victoria-metrics-operator/values.yaml +++ b/charts/victoria-metrics-operator/values.yaml @@ -7,6 +7,7 @@ global: # Default values for victoria-metrics. # This is a YAML-formatted file. # Declare variables to be passed into your templates. +# -- operator image configuration image: # -- Image registry registry: "" @@ -123,8 +124,7 @@ service: ipFamilyPolicy: "" ipFamilies: [] -## See `kubectl explain poddisruptionbudget.spec` for more -## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ +## -- See `kubectl explain poddisruptionbudget.spec` for more or check [these docs](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) podDisruptionBudget: enabled: false # minAvailable: 1 @@ -141,22 +141,22 @@ resources: # cpu: 80m # memory: 120Mi -# -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/ +# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: {} -# -- Array of tolerations object. Ref: [https://kubernetes.io/docs/concepts/configuration/assign-pod-node/](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) +# -- Array of tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: [] # -- Pod affinity affinity: {} -# -- Pod Topology Spread Constraints. Ref: [https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) +# -- Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/) topologySpreadConstraints: [] # -- operator container additional commandline arguments extraArgs: {} -# -- extra settings for the operator deployment. full list Ref: [https://github.com/VictoriaMetrics/operator/blob/master/vars.MD](https://github.com/VictoriaMetrics/operator/blob/master/vars.MD) +# -- extra settings for the operator deployment. Full list [here](https://docs.victoriametrics.com/operator/vars) env: [] # - name: VM_VMSINGLEDEFAULT_VERSION @@ -239,7 +239,7 @@ serviceMonitor: basicAuth: {} probe: - # Readiness probe + # -- Readiness probe readiness: httpGet: port: probe @@ -247,7 +247,7 @@ probe: periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 - # Liveness probe + # -- Liveness probe liveness: tcpSocket: port: probe @@ -255,7 +255,7 @@ probe: periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 - # Startup probe + # -- Startup probe startup: {} # -- Add extra specs dynamically to this chart diff --git a/charts/victoria-metrics-single/README.md b/charts/victoria-metrics-single/README.md index c549cadfa..9f27623b9 100644 --- a/charts/victoria-metrics-single/README.md +++ b/charts/victoria-metrics-single/README.md @@ -100,150 +100,2125 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-single/values.yaml`` file. -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| automountServiceAccountToken | bool | `true` | | -| extraObjects | list | `[]` | Add extra specs dynamically to this chart | -| global.compatibility.openshift.adaptSecurityContext | string | `"auto"` | | -| global.image.registry | string | `""` | | -| global.imagePullSecrets | list | `[]` | | -| license | object | `{"key":"","secret":{"key":"","name":""}}` | Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0 | -| license.key | string | `""` | License key | -| license.secret | object | `{"key":"","name":""}` | Use existing secret with license key | -| license.secret.key | string | `""` | Key in secret with license key | -| license.secret.name | string | `""` | Existing secret name | -| podDisruptionBudget.enabled | bool | `false` | 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.extraLabels | object | `{}` | | -| printNotes | bool | `true` | Print chart notes | -| rbac.create | bool | `true` | | -| rbac.extraLabels | object | `{}` | | -| rbac.namespaced | bool | `false` | | -| server.affinity | object | `{}` | Pod affinity | -| server.containerWorkingDir | string | `""` | Container workdir | -| server.emptyDir | object | `{}` | | -| server.enabled | bool | `true` | Enable deployment of server component. Deployed as StatefulSet | -| server.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| server.envFrom | list | `[]` | | -| server.extraArgs."envflag.enable" | string | `"true"` | | -| server.extraArgs."envflag.prefix" | string | `"VM_"` | | -| server.extraArgs.loggerFormat | string | `"json"` | | -| server.extraContainers | list | `[]` | | -| server.extraHostPathMounts | list | `[]` | | -| server.extraLabels | object | `{}` | Sts/Deploy additional labels | -| server.extraVolumeMounts | list | `[]` | | -| server.extraVolumes | list | `[]` | | -| server.fullnameOverride | string | `nil` | Overrides the full name of server component | -| server.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| server.image.registry | string | `""` | Image registry | -| server.image.repository | string | `"victoriametrics/victoria-metrics"` | Image repository | -| server.image.tag | string | `""` | Image tag | -| server.image.variant | string | `""` | | -| server.imagePullSecrets | list | `[]` | | -| server.ingress.annotations | object | `{}` | Ingress annotations | -| server.ingress.enabled | bool | `false` | Enable deployment of ingress for server component | -| server.ingress.extraLabels | object | `{}` | Ingress extra labels | -| server.ingress.hosts | list | `[]` | Array of host objects | -| server.ingress.pathType | string | `"Prefix"` | pathType is only for k8s >= 1.1= | -| server.ingress.tls | list | `[]` | Array of TLS objects | -| server.initContainers | list | `[]` | | -| server.name | string | `"server"` | Server container name | -| server.nodeSelector | object | `{}` | Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) | -| server.persistentVolume.accessModes | list | `["ReadWriteOnce"]` | Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) | -| server.persistentVolume.annotations | object | `{}` | Persistant volume annotations | -| server.persistentVolume.enabled | bool | `true` | Create/use Persistent Volume Claim for server component. Empty dir if false | -| server.persistentVolume.existingClaim | string | `""` | Existing Claim name. If defined, PVC must be created manually before volume will be bound | -| server.persistentVolume.matchLabels | object | `{}` | Bind Persistent Volume by labels. Must match all labels of targeted PV. | -| server.persistentVolume.mountPath | string | `"/storage"` | Mount path. Server data Persistent Volume mount root path. | -| server.persistentVolume.size | string | `"16Gi"` | Size of the volume. Should be calculated based on the metrics you send and retention policy you set. | -| server.persistentVolume.storageClass | string | `""` | StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically | -| server.persistentVolume.subPath | string | `""` | Mount subpath | -| server.podAnnotations | object | `{}` | Pod's annotations | -| server.podLabels | object | `{}` | Pod's additional labels | -| server.podManagementPolicy | string | `"OrderedReady"` | Pod's management policy | -| server.podSecurityContext | object | `{"enabled":true}` | Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) | -| server.priorityClassName | string | `""` | Name of Priority Class | -| server.probe.liveness.failureThreshold | int | `10` | | -| server.probe.liveness.initialDelaySeconds | int | `30` | | -| server.probe.liveness.periodSeconds | int | `30` | | -| server.probe.liveness.tcpSocket | object | `{}` | | -| server.probe.liveness.timeoutSeconds | int | `5` | | -| server.probe.readiness.failureThreshold | int | `3` | | -| server.probe.readiness.httpGet | object | `{}` | | -| server.probe.readiness.initialDelaySeconds | int | `5` | | -| server.probe.readiness.periodSeconds | int | `15` | | -| server.probe.readiness.timeoutSeconds | int | `5` | | -| server.probe.startup | object | `{}` | | -| server.relabel | object | `{"config":[],"configMap":"","enabled":false}` | Global relabel configuration | -| server.relabel.configMap | string | `""` | Use existing configmap if specified otherwise .config values will be used. Relabel config **should** reside under `relabel.yml` key | -| server.resources | object | `{}` | Resource object. Ref: [http://kubernetes.io/docs/user-guide/compute-resources/](http://kubernetes.io/docs/user-guide/compute-resources/ | -| server.retentionPeriod | int | `1` | Data retention period in month | -| server.scrape | object | `{"config":{"global":{"scrape_interval":"15s"},"scrape_configs":[{"job_name":"victoriametrics","static_configs":[{"targets":["localhost:8428"]}]},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","job_name":"kubernetes-apiservers","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"keep","regex":"default;kubernetes;https","source_labels":["__meta_kubernetes_namespace","__meta_kubernetes_service_name","__meta_kubernetes_endpoint_port_name"]}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","job_name":"kubernetes-nodes","kubernetes_sd_configs":[{"role":"node"}],"relabel_configs":[{"action":"labelmap","regex":"__meta_kubernetes_node_label_(.+)"},{"replacement":"kubernetes.default.svc:443","target_label":"__address__"},{"regex":"(.+)","replacement":"/api/v1/nodes/$1/proxy/metrics","source_labels":["__meta_kubernetes_node_name"],"target_label":"__metrics_path__"}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","honor_timestamps":false,"job_name":"kubernetes-nodes-cadvisor","kubernetes_sd_configs":[{"role":"node"}],"relabel_configs":[{"action":"labelmap","regex":"__meta_kubernetes_node_label_(.+)"},{"replacement":"kubernetes.default.svc:443","target_label":"__address__"},{"regex":"(.+)","replacement":"/api/v1/nodes/$1/proxy/metrics/cadvisor","source_labels":["__meta_kubernetes_node_name"],"target_label":"__metrics_path__"}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"job_name":"kubernetes-service-endpoints","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}]},{"job_name":"kubernetes-service-endpoints-slow","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape_slow"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}],"scrape_interval":"5m","scrape_timeout":"30s"},{"job_name":"kubernetes-services","kubernetes_sd_configs":[{"role":"service"}],"metrics_path":"/probe","params":{"module":["http_2xx"]},"relabel_configs":[{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_probe"]},{"source_labels":["__address__"],"target_label":"__param_target"},{"replacement":"blackbox","target_label":"__address__"},{"source_labels":["__param_target"],"target_label":"instance"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"source_labels":["__meta_kubernetes_service_name"],"target_label":"service"}]},{"job_name":"kubernetes-pods","kubernetes_sd_configs":[{"role":"pod"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_pod_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_pod_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_pod_name"],"target_label":"pod"}]}]},"configMap":"","enabled":false,"extraScrapeConfigs":[]}` | Scrape configuration for victoriametrics | -| server.scrape.config | object | `{"global":{"scrape_interval":"15s"},"scrape_configs":[{"job_name":"victoriametrics","static_configs":[{"targets":["localhost:8428"]}]},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","job_name":"kubernetes-apiservers","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"keep","regex":"default;kubernetes;https","source_labels":["__meta_kubernetes_namespace","__meta_kubernetes_service_name","__meta_kubernetes_endpoint_port_name"]}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","job_name":"kubernetes-nodes","kubernetes_sd_configs":[{"role":"node"}],"relabel_configs":[{"action":"labelmap","regex":"__meta_kubernetes_node_label_(.+)"},{"replacement":"kubernetes.default.svc:443","target_label":"__address__"},{"regex":"(.+)","replacement":"/api/v1/nodes/$1/proxy/metrics","source_labels":["__meta_kubernetes_node_name"],"target_label":"__metrics_path__"}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","honor_timestamps":false,"job_name":"kubernetes-nodes-cadvisor","kubernetes_sd_configs":[{"role":"node"}],"relabel_configs":[{"action":"labelmap","regex":"__meta_kubernetes_node_label_(.+)"},{"replacement":"kubernetes.default.svc:443","target_label":"__address__"},{"regex":"(.+)","replacement":"/api/v1/nodes/$1/proxy/metrics/cadvisor","source_labels":["__meta_kubernetes_node_name"],"target_label":"__metrics_path__"}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"job_name":"kubernetes-service-endpoints","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}]},{"job_name":"kubernetes-service-endpoints-slow","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape_slow"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}],"scrape_interval":"5m","scrape_timeout":"30s"},{"job_name":"kubernetes-services","kubernetes_sd_configs":[{"role":"service"}],"metrics_path":"/probe","params":{"module":["http_2xx"]},"relabel_configs":[{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_probe"]},{"source_labels":["__address__"],"target_label":"__param_target"},{"replacement":"blackbox","target_label":"__address__"},{"source_labels":["__param_target"],"target_label":"instance"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"source_labels":["__meta_kubernetes_service_name"],"target_label":"service"}]},{"job_name":"kubernetes-pods","kubernetes_sd_configs":[{"role":"pod"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_pod_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_pod_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_pod_name"],"target_label":"pod"}]}]}` | Scrape config | -| server.scrape.config.scrape_configs | list | `[{"job_name":"victoriametrics","static_configs":[{"targets":["localhost:8428"]}]},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","job_name":"kubernetes-apiservers","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"keep","regex":"default;kubernetes;https","source_labels":["__meta_kubernetes_namespace","__meta_kubernetes_service_name","__meta_kubernetes_endpoint_port_name"]}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","job_name":"kubernetes-nodes","kubernetes_sd_configs":[{"role":"node"}],"relabel_configs":[{"action":"labelmap","regex":"__meta_kubernetes_node_label_(.+)"},{"replacement":"kubernetes.default.svc:443","target_label":"__address__"},{"regex":"(.+)","replacement":"/api/v1/nodes/$1/proxy/metrics","source_labels":["__meta_kubernetes_node_name"],"target_label":"__metrics_path__"}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"bearer_token_file":"/var/run/secrets/kubernetes.io/serviceaccount/token","honor_timestamps":false,"job_name":"kubernetes-nodes-cadvisor","kubernetes_sd_configs":[{"role":"node"}],"relabel_configs":[{"action":"labelmap","regex":"__meta_kubernetes_node_label_(.+)"},{"replacement":"kubernetes.default.svc:443","target_label":"__address__"},{"regex":"(.+)","replacement":"/api/v1/nodes/$1/proxy/metrics/cadvisor","source_labels":["__meta_kubernetes_node_name"],"target_label":"__metrics_path__"}],"scheme":"https","tls_config":{"ca_file":"/var/run/secrets/kubernetes.io/serviceaccount/ca.crt","insecure_skip_verify":true}},{"job_name":"kubernetes-service-endpoints","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}]},{"job_name":"kubernetes-service-endpoints-slow","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape_slow"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}],"scrape_interval":"5m","scrape_timeout":"30s"},{"job_name":"kubernetes-services","kubernetes_sd_configs":[{"role":"service"}],"metrics_path":"/probe","params":{"module":["http_2xx"]},"relabel_configs":[{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_probe"]},{"source_labels":["__address__"],"target_label":"__param_target"},{"replacement":"blackbox","target_label":"__address__"},{"source_labels":["__param_target"],"target_label":"instance"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"source_labels":["__meta_kubernetes_service_name"],"target_label":"service"}]},{"job_name":"kubernetes-pods","kubernetes_sd_configs":[{"role":"pod"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_pod_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_pod_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_pod_name"],"target_label":"pod"}]}]` | Scrape targets | -| server.scrape.config.scrape_configs[0] | object | `{"job_name":"victoriametrics","static_configs":[{"targets":["localhost:8428"]}]}` | Scrape rule for scrape victoriametrics | -| server.scrape.config.scrape_configs[4] | object | `{"job_name":"kubernetes-service-endpoints","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}]}` | Scrape rule using kubernetes service discovery for endpoints | -| server.scrape.config.scrape_configs[5] | object | `{"job_name":"kubernetes-service-endpoints-slow","kubernetes_sd_configs":[{"role":"endpoints"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scrape_slow"]},{"action":"replace","regex":"(https?)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_scheme"],"target_label":"__scheme__"},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_service_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_service_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_service_name"],"target_label":"service"},{"action":"replace","source_labels":["__meta_kubernetes_pod_node_name"],"target_label":"node"}],"scrape_interval":"5m","scrape_timeout":"30s"}` | Scrape config for slow service endpoints; same as above, but with a larger timeout and a larger interval The relabeling allows the actual service scrape endpoint to be configured via the following annotations: * `prometheus.io/scrape-slow`: Only scrape services that have a value of `true` * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need to set this to `https` & most likely set the `tls_config` of the scrape config. * `prometheus.io/path`: If the metrics path is not `/metrics` override this. * `prometheus.io/port`: If the metrics are exposed on a different port to the service then set this appropriately. | -| server.scrape.config.scrape_configs[6] | object | `{"job_name":"kubernetes-services","kubernetes_sd_configs":[{"role":"service"}],"metrics_path":"/probe","params":{"module":["http_2xx"]},"relabel_configs":[{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_service_annotation_prometheus_io_probe"]},{"source_labels":["__address__"],"target_label":"__param_target"},{"replacement":"blackbox","target_label":"__address__"},{"source_labels":["__param_target"],"target_label":"instance"},{"action":"labelmap","regex":"__meta_kubernetes_service_label_(.+)"},{"source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"source_labels":["__meta_kubernetes_service_name"],"target_label":"service"}]}` | Example scrape config for probing services via the Blackbox Exporter. The relabeling allows the actual service scrape endpoint to be configured via the following annotations: * `prometheus.io/probe`: Only probe services that have a value of `true` | -| server.scrape.config.scrape_configs[7] | object | `{"job_name":"kubernetes-pods","kubernetes_sd_configs":[{"role":"pod"}],"relabel_configs":[{"action":"drop","regex":true,"source_labels":["__meta_kubernetes_pod_container_init"]},{"action":"keep_if_equal","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_port","__meta_kubernetes_pod_container_port_number"]},{"action":"keep","regex":true,"source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_scrape"]},{"action":"replace","regex":"(.+)","source_labels":["__meta_kubernetes_pod_annotation_prometheus_io_path"],"target_label":"__metrics_path__"},{"action":"replace","regex":"([^:]+)(?::\\d+)?;(\\d+)","replacement":"$1:$2","source_labels":["__address__","__meta_kubernetes_pod_annotation_prometheus_io_port"],"target_label":"__address__"},{"action":"labelmap","regex":"__meta_kubernetes_pod_label_(.+)"},{"action":"replace","source_labels":["__meta_kubernetes_namespace"],"target_label":"namespace"},{"action":"replace","source_labels":["__meta_kubernetes_pod_name"],"target_label":"pod"}]}` | Example scrape config for pods The relabeling allows the actual pod scrape endpoint to be configured via the following annotations: * `prometheus.io/scrape`: Only scrape pods that have a value of `true` * `prometheus.io/path`: If the metrics path is not `/metrics` override this. * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`. | -| server.scrape.configMap | string | `""` | Use existing configmap if specified otherwise .config values will be used. Scrape config **should** reside under `scrape.yml` key | -| server.scrape.enabled | bool | `false` | If true scrapes targets, creates config map or use specified one with scrape targets | -| server.scrape.extraScrapeConfigs | list | `[]` | Extra scrape configs that will be appended to `server.scrape.config` | -| server.securityContext | object | `{"enabled":true}` | Security context to be added to server pods | -| server.service.annotations | object | `{}` | Service annotations | -| server.service.clusterIP | string | `""` | Service ClusterIP | -| server.service.externalIPs | list | `[]` | Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips]( https://kubernetes.io/docs/user-guide/services/#external-ips) | -| server.service.externalTrafficPolicy | string | `""` | | -| server.service.healthCheckNodePort | string | `""` | | -| server.service.ipFamilies | list | `[]` | | -| server.service.ipFamilyPolicy | string | `""` | | -| server.service.labels | object | `{}` | Service labels | -| server.service.loadBalancerIP | string | `""` | Service load balacner IP | -| server.service.loadBalancerSourceRanges | list | `[]` | Load balancer source range | -| server.service.servicePort | int | `8428` | Service port | -| server.service.type | string | `"ClusterIP"` | Service type | -| server.serviceMonitor.annotations | object | `{}` | Service Monitor annotations | -| server.serviceMonitor.basicAuth | object | `{}` | Basic auth params for Service Monitor | -| server.serviceMonitor.enabled | bool | `false` | Enable deployment of Service Monitor for server component. This is Prometheus operator object | -| server.serviceMonitor.extraLabels | object | `{}` | Service Monitor labels | -| server.serviceMonitor.metricRelabelings | list | `[]` | Service Monitor metricRelabelings | -| server.serviceMonitor.relabelings | list | `[]` | Service Monitor relabelings | -| server.statefulSet.enabled | bool | `true` | Creates statefulset instead of deployment, useful when you want to keep the cache | -| server.statefulSet.podManagementPolicy | string | `"OrderedReady"` | Deploy order policy for StatefulSet pods | -| server.terminationGracePeriodSeconds | int | `60` | Pod's termination grace period in seconds | -| server.tolerations | list | `[]` | 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/) | -| server.vmbackupmanager.destination | string | `""` | backup destination at S3, GCS or local filesystem. Release name will be included to path! | -| server.vmbackupmanager.disableDaily | bool | `false` | disable daily backups | -| server.vmbackupmanager.disableHourly | bool | `false` | disable hourly backups | -| server.vmbackupmanager.disableMonthly | bool | `false` | disable monthly backups | -| server.vmbackupmanager.disableWeekly | bool | `false` | disable weekly backups | -| server.vmbackupmanager.enable | bool | `false` | enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages | -| server.vmbackupmanager.env | list | `[]` | Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables | -| server.vmbackupmanager.extraArgs."envflag.enable" | string | `"true"` | | -| server.vmbackupmanager.extraArgs."envflag.prefix" | string | `"VM_"` | | -| server.vmbackupmanager.extraArgs.loggerFormat | string | `"json"` | | -| server.vmbackupmanager.extraVolumeMounts | list | `[]` | | -| server.vmbackupmanager.image.registry | string | `""` | vmbackupmanager image registry | -| server.vmbackupmanager.image.repository | string | `"victoriametrics/vmbackupmanager"` | vmbackupmanager image repository | -| server.vmbackupmanager.image.tag | string | `""` | vmbackupmanager image tag | -| server.vmbackupmanager.image.variant | string | `""` | | -| server.vmbackupmanager.probe.liveness.failureThreshold | int | `10` | | -| server.vmbackupmanager.probe.liveness.initialDelaySeconds | int | `30` | | -| server.vmbackupmanager.probe.liveness.periodSeconds | int | `30` | | -| server.vmbackupmanager.probe.liveness.tcpSocket.port | string | `"manager-http"` | | -| server.vmbackupmanager.probe.liveness.timeoutSeconds | int | `5` | | -| server.vmbackupmanager.probe.readiness.failureThreshold | int | `3` | | -| server.vmbackupmanager.probe.readiness.httpGet.port | string | `"manager-http"` | | -| server.vmbackupmanager.probe.readiness.initialDelaySeconds | int | `5` | | -| server.vmbackupmanager.probe.readiness.periodSeconds | int | `15` | | -| server.vmbackupmanager.probe.readiness.timeoutSeconds | int | `5` | | -| server.vmbackupmanager.probe.startup.httpGet.port | string | `"manager-http"` | | -| server.vmbackupmanager.resources | object | `{}` | | -| server.vmbackupmanager.restore | object | `{"onStart":{"enabled":false}}` | Allows to enable restore options for pod. Read more: https://docs.victoriametrics.com/vmbackupmanager#restore-commands | -| server.vmbackupmanager.retention | object | `{"keepLastDaily":2,"keepLastHourly":2,"keepLastMonthly":2,"keepLastWeekly":2}` | backups' retention settings | -| server.vmbackupmanager.retention.keepLastDaily | int | `2` | keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off | -| server.vmbackupmanager.retention.keepLastHourly | int | `2` | keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off | -| server.vmbackupmanager.retention.keepLastMonthly | int | `2` | keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off | -| server.vmbackupmanager.retention.keepLastWeekly | int | `2` | keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off | -| serviceAccount.automountToken | bool | `true` | Mount API token to pod directly | -| serviceAccount.create | bool | `true` | Create service account. | -| serviceAccount.extraLabels | object | `{}` | | \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDefaultDescription
automountServiceAccountTokenbool
+true
+
+
extraObjectslist
+[]
+
+

Add extra specs dynamically to this chart

+
global.compatibility.openshift.adaptSecurityContextstring
+auto
+
+
global.image.registrystring
+""
+
+
global.imagePullSecretslist
+[]
+
+
licenseobject
+key: ""
+secret:
+    key: ""
+    name: ""
+
+

Enterprise license key configuration for VictoriaMetrics enterprise. Required only for VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise, for more information, visit https://victoriametrics.com/products/enterprise/ . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ Supported starting from VictoriaMetrics v1.94.0

+
license.keystring
+""
+
+

License key

+
license.secretobject
+key: ""
+name: ""
+
+

Use existing secret with license key

+
license.secret.keystring
+""
+
+

Key in secret with license key

+
license.secret.namestring
+""
+
+

Existing secret name

+
podDisruptionBudget.enabledbool
+false
+
+

See kubectl explain poddisruptionbudget.spec for more. Details are here

+
podDisruptionBudget.extraLabelsobject
+{}
+
+
printNotesbool
+true
+
+

Print chart notes

+
rbac.createbool
+true
+
+
rbac.extraLabelsobject
+{}
+
+
rbac.namespacedbool
+false
+
+
server.affinityobject
+{}
+
+

Pod affinity

+
server.containerWorkingDirstring
+""
+
+

Container workdir

+
server.emptyDirobject
+{}
+
+
server.enabledbool
+true
+
+

Enable deployment of server component. Deployed as StatefulSet

+
server.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
server.envFromlist
+[]
+
+
server.extraArgs."envflag.enable"string
+"true"
+
+
server.extraArgs."envflag.prefix"string
+VM_
+
+
server.extraArgs.loggerFormatstring
+json
+
+
server.extraContainerslist
+[]
+
+
server.extraHostPathMountslist
+[]
+
+
server.extraLabelsobject
+{}
+
+

Sts/Deploy additional labels

+
server.extraVolumeMountslist
+[]
+
+
server.extraVolumeslist
+[]
+
+
server.fullnameOverridestring
+null
+
+

Overrides the full name of server component

+
server.image.pullPolicystring
+IfNotPresent
+
+

Image pull policy

+
server.image.registrystring
+""
+
+

Image registry

+
server.image.repositorystring
+victoriametrics/victoria-metrics
+
+

Image repository

+
server.image.tagstring
+""
+
+

Image tag

+
server.image.variantstring
+""
+
+
server.imagePullSecretslist
+[]
+
+
server.ingress.annotationsobject
+{}
+
+

Ingress annotations

+
server.ingress.enabledbool
+false
+
+

Enable deployment of ingress for server component

+
server.ingress.extraLabelsobject
+{}
+
+

Ingress extra labels

+
server.ingress.hostslist
+[]
+
+

Array of host objects

+
server.ingress.pathTypestring
+Prefix
+
+

pathType is only for k8s >= 1.1=

+
server.ingress.tlslist
+[]
+
+

Array of TLS objects

+
server.initContainerslist
+[]
+
+
server.namestring
+server
+
+

Server container name

+
server.nodeSelectorobject
+{}
+
+

Pod’s node selector. Details are here

+
server.persistentVolume.accessModeslist
+- ReadWriteOnce
+
+

Array of access modes. Must match those of existing PV or dynamic provisioner. Details are here

+
server.persistentVolume.annotationsobject
+{}
+
+

Persistant volume annotations

+
server.persistentVolume.enabledbool
+true
+
+

Create/use Persistent Volume Claim for server component. Empty dir if false

+
server.persistentVolume.existingClaimstring
+""
+
+

Existing Claim name. If defined, PVC must be created manually before volume will be bound

+
server.persistentVolume.matchLabelsobject
+{}
+
+

Bind Persistent Volume by labels. Must match all labels of targeted PV.

+
server.persistentVolume.mountPathstring
+/storage
+
+

Mount path. Server data Persistent Volume mount root path.

+
server.persistentVolume.sizestring
+16Gi
+
+

Size of the volume. Should be calculated based on the metrics you send and retention policy you set.

+
server.persistentVolume.storageClassstring
+""
+
+

StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically

+
server.persistentVolume.subPathstring
+""
+
+

Mount subpath

+
server.podAnnotationsobject
+{}
+
+

Pod’s annotations

+
server.podLabelsobject
+{}
+
+

Pod’s additional labels

+
server.podManagementPolicystring
+OrderedReady
+
+

Pod’s management policy

+
server.podSecurityContextobject
+enabled: true
+
+

Pod’s security context. Details are here

+
server.priorityClassNamestring
+""
+
+

Name of Priority Class

+
server.probe.liveness.failureThresholdint
+10
+
+
server.probe.liveness.initialDelaySecondsint
+30
+
+
server.probe.liveness.periodSecondsint
+30
+
+
server.probe.liveness.tcpSocketobject
+{}
+
+
server.probe.liveness.timeoutSecondsint
+5
+
+
server.probe.readiness.failureThresholdint
+3
+
+
server.probe.readiness.httpGetobject
+{}
+
+
server.probe.readiness.initialDelaySecondsint
+5
+
+
server.probe.readiness.periodSecondsint
+15
+
+
server.probe.readiness.timeoutSecondsint
+5
+
+
server.probe.startupobject
+{}
+
+
server.relabelobject
+config: []
+configMap: ""
+enabled: false
+
+

Global relabel configuration

+
server.relabel.configMapstring
+""
+
+

Use existing configmap if specified otherwise .config values will be used. Relabel config should reside under relabel.yml key

+
server.resourcesobject
+{}
+
+

Resource object. Details are here

+
server.retentionPeriodint
+1
+
+

Data retention period in month

+
server.scrapeobject
+config:
+    global:
+        scrape_interval: 15s
+    scrape_configs:
+        - job_name: victoriametrics
+          static_configs:
+            - targets:
+                - localhost:8428
+        - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+          job_name: kubernetes-apiservers
+          kubernetes_sd_configs:
+            - role: endpoints
+          relabel_configs:
+            - action: keep
+              regex: default;kubernetes;https
+              source_labels:
+                - __meta_kubernetes_namespace
+                - __meta_kubernetes_service_name
+                - __meta_kubernetes_endpoint_port_name
+          scheme: https
+          tls_config:
+            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            insecure_skip_verify: true
+        - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+          job_name: kubernetes-nodes
+          kubernetes_sd_configs:
+            - role: node
+          relabel_configs:
+            - action: labelmap
+              regex: __meta_kubernetes_node_label_(.+)
+            - replacement: kubernetes.default.svc:443
+              target_label: __address__
+            - regex: (.+)
+              replacement: /api/v1/nodes/$1/proxy/metrics
+              source_labels:
+                - __meta_kubernetes_node_name
+              target_label: __metrics_path__
+          scheme: https
+          tls_config:
+            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            insecure_skip_verify: true
+        - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+          honor_timestamps: false
+          job_name: kubernetes-nodes-cadvisor
+          kubernetes_sd_configs:
+            - role: node
+          relabel_configs:
+            - action: labelmap
+              regex: __meta_kubernetes_node_label_(.+)
+            - replacement: kubernetes.default.svc:443
+              target_label: __address__
+            - regex: (.+)
+              replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+              source_labels:
+                - __meta_kubernetes_node_name
+              target_label: __metrics_path__
+          scheme: https
+          tls_config:
+            ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+            insecure_skip_verify: true
+        - job_name: kubernetes-service-endpoints
+          kubernetes_sd_configs:
+            - role: endpoints
+          relabel_configs:
+            - action: drop
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_container_init
+            - action: keep_if_equal
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+                - __meta_kubernetes_pod_container_port_number
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scrape
+            - action: replace
+              regex: (https?)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scheme
+              target_label: __scheme__
+            - action: replace
+              regex: (.+)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_path
+              target_label: __metrics_path__
+            - action: replace
+              regex: ([^:]+)(?::\d+)?;(\d+)
+              replacement: $1:$2
+              source_labels:
+                - __address__
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+              target_label: __address__
+            - action: labelmap
+              regex: __meta_kubernetes_service_label_(.+)
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_service_name
+              target_label: service
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_pod_node_name
+              target_label: node
+        - job_name: kubernetes-service-endpoints-slow
+          kubernetes_sd_configs:
+            - role: endpoints
+          relabel_configs:
+            - action: drop
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_container_init
+            - action: keep_if_equal
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+                - __meta_kubernetes_pod_container_port_number
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+            - action: replace
+              regex: (https?)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_scheme
+              target_label: __scheme__
+            - action: replace
+              regex: (.+)
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_path
+              target_label: __metrics_path__
+            - action: replace
+              regex: ([^:]+)(?::\d+)?;(\d+)
+              replacement: $1:$2
+              source_labels:
+                - __address__
+                - __meta_kubernetes_service_annotation_prometheus_io_port
+              target_label: __address__
+            - action: labelmap
+              regex: __meta_kubernetes_service_label_(.+)
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_service_name
+              target_label: service
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_pod_node_name
+              target_label: node
+          scrape_interval: 5m
+          scrape_timeout: 30s
+        - job_name: kubernetes-services
+          kubernetes_sd_configs:
+            - role: service
+          metrics_path: /probe
+          params:
+            module:
+                - http_2xx
+          relabel_configs:
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_service_annotation_prometheus_io_probe
+            - source_labels:
+                - __address__
+              target_label: __param_target
+            - replacement: blackbox
+              target_label: __address__
+            - source_labels:
+                - __param_target
+              target_label: instance
+            - action: labelmap
+              regex: __meta_kubernetes_service_label_(.+)
+            - source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - source_labels:
+                - __meta_kubernetes_service_name
+              target_label: service
+        - job_name: kubernetes-pods
+          kubernetes_sd_configs:
+            - role: pod
+          relabel_configs:
+            - action: drop
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_container_init
+            - action: keep_if_equal
+              source_labels:
+                - __meta_kubernetes_pod_annotation_prometheus_io_port
+                - __meta_kubernetes_pod_container_port_number
+            - action: keep
+              regex: true
+              source_labels:
+                - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+            - action: replace
+              regex: (.+)
+              source_labels:
+                - __meta_kubernetes_pod_annotation_prometheus_io_path
+              target_label: __metrics_path__
+            - action: replace
+              regex: ([^:]+)(?::\d+)?;(\d+)
+              replacement: $1:$2
+              source_labels:
+                - __address__
+                - __meta_kubernetes_pod_annotation_prometheus_io_port
+              target_label: __address__
+            - action: labelmap
+              regex: __meta_kubernetes_pod_label_(.+)
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_namespace
+              target_label: namespace
+            - action: replace
+              source_labels:
+                - __meta_kubernetes_pod_name
+              target_label: pod
+configMap: ""
+enabled: false
+extraScrapeConfigs: []
+
+

Scrape configuration for victoriametrics

+
server.scrape.configobject
+global:
+    scrape_interval: 15s
+scrape_configs:
+    - job_name: victoriametrics
+      static_configs:
+        - targets:
+            - localhost:8428
+    - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+      job_name: kubernetes-apiservers
+      kubernetes_sd_configs:
+        - role: endpoints
+      relabel_configs:
+        - action: keep
+          regex: default;kubernetes;https
+          source_labels:
+            - __meta_kubernetes_namespace
+            - __meta_kubernetes_service_name
+            - __meta_kubernetes_endpoint_port_name
+      scheme: https
+      tls_config:
+        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecure_skip_verify: true
+    - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+      job_name: kubernetes-nodes
+      kubernetes_sd_configs:
+        - role: node
+      relabel_configs:
+        - action: labelmap
+          regex: __meta_kubernetes_node_label_(.+)
+        - replacement: kubernetes.default.svc:443
+          target_label: __address__
+        - regex: (.+)
+          replacement: /api/v1/nodes/$1/proxy/metrics
+          source_labels:
+            - __meta_kubernetes_node_name
+          target_label: __metrics_path__
+      scheme: https
+      tls_config:
+        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecure_skip_verify: true
+    - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+      honor_timestamps: false
+      job_name: kubernetes-nodes-cadvisor
+      kubernetes_sd_configs:
+        - role: node
+      relabel_configs:
+        - action: labelmap
+          regex: __meta_kubernetes_node_label_(.+)
+        - replacement: kubernetes.default.svc:443
+          target_label: __address__
+        - regex: (.+)
+          replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+          source_labels:
+            - __meta_kubernetes_node_name
+          target_label: __metrics_path__
+      scheme: https
+      tls_config:
+        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+        insecure_skip_verify: true
+    - job_name: kubernetes-service-endpoints
+      kubernetes_sd_configs:
+        - role: endpoints
+      relabel_configs:
+        - action: drop
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_container_init
+        - action: keep_if_equal
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+            - __meta_kubernetes_pod_container_port_number
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scrape
+        - action: replace
+          regex: (https?)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scheme
+          target_label: __scheme__
+        - action: replace
+          regex: (.+)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_path
+          target_label: __metrics_path__
+        - action: replace
+          regex: ([^:]+)(?::\d+)?;(\d+)
+          replacement: $1:$2
+          source_labels:
+            - __address__
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+          target_label: __address__
+        - action: labelmap
+          regex: __meta_kubernetes_service_label_(.+)
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_service_name
+          target_label: service
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_pod_node_name
+          target_label: node
+    - job_name: kubernetes-service-endpoints-slow
+      kubernetes_sd_configs:
+        - role: endpoints
+      relabel_configs:
+        - action: drop
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_container_init
+        - action: keep_if_equal
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+            - __meta_kubernetes_pod_container_port_number
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+        - action: replace
+          regex: (https?)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_scheme
+          target_label: __scheme__
+        - action: replace
+          regex: (.+)
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_path
+          target_label: __metrics_path__
+        - action: replace
+          regex: ([^:]+)(?::\d+)?;(\d+)
+          replacement: $1:$2
+          source_labels:
+            - __address__
+            - __meta_kubernetes_service_annotation_prometheus_io_port
+          target_label: __address__
+        - action: labelmap
+          regex: __meta_kubernetes_service_label_(.+)
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_service_name
+          target_label: service
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_pod_node_name
+          target_label: node
+      scrape_interval: 5m
+      scrape_timeout: 30s
+    - job_name: kubernetes-services
+      kubernetes_sd_configs:
+        - role: service
+      metrics_path: /probe
+      params:
+        module:
+            - http_2xx
+      relabel_configs:
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_service_annotation_prometheus_io_probe
+        - source_labels:
+            - __address__
+          target_label: __param_target
+        - replacement: blackbox
+          target_label: __address__
+        - source_labels:
+            - __param_target
+          target_label: instance
+        - action: labelmap
+          regex: __meta_kubernetes_service_label_(.+)
+        - source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - source_labels:
+            - __meta_kubernetes_service_name
+          target_label: service
+    - job_name: kubernetes-pods
+      kubernetes_sd_configs:
+        - role: pod
+      relabel_configs:
+        - action: drop
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_container_init
+        - action: keep_if_equal
+          source_labels:
+            - __meta_kubernetes_pod_annotation_prometheus_io_port
+            - __meta_kubernetes_pod_container_port_number
+        - action: keep
+          regex: true
+          source_labels:
+            - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+        - action: replace
+          regex: (.+)
+          source_labels:
+            - __meta_kubernetes_pod_annotation_prometheus_io_path
+          target_label: __metrics_path__
+        - action: replace
+          regex: ([^:]+)(?::\d+)?;(\d+)
+          replacement: $1:$2
+          source_labels:
+            - __address__
+            - __meta_kubernetes_pod_annotation_prometheus_io_port
+          target_label: __address__
+        - action: labelmap
+          regex: __meta_kubernetes_pod_label_(.+)
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_namespace
+          target_label: namespace
+        - action: replace
+          source_labels:
+            - __meta_kubernetes_pod_name
+          target_label: pod
+
+

Scrape config

+
server.scrape.config.scrape_configslist
+- job_name: victoriametrics
+  static_configs:
+    - targets:
+        - localhost:8428
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-apiservers
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: keep
+      regex: default;kubernetes;https
+      source_labels:
+        - __meta_kubernetes_namespace
+        - __meta_kubernetes_service_name
+        - __meta_kubernetes_endpoint_port_name
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  job_name: kubernetes-nodes
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
+  honor_timestamps: false
+  job_name: kubernetes-nodes-cadvisor
+  kubernetes_sd_configs:
+    - role: node
+  relabel_configs:
+    - action: labelmap
+      regex: __meta_kubernetes_node_label_(.+)
+    - replacement: kubernetes.default.svc:443
+      target_label: __address__
+    - regex: (.+)
+      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
+      source_labels:
+        - __meta_kubernetes_node_name
+      target_label: __metrics_path__
+  scheme: https
+  tls_config:
+    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
+    insecure_skip_verify: true
+- job_name: kubernetes-service-endpoints
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+- job_name: kubernetes-service-endpoints-slow
+  kubernetes_sd_configs:
+    - role: endpoints
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+  scrape_interval: 5m
+  scrape_timeout: 30s
+- job_name: kubernetes-services
+  kubernetes_sd_configs:
+    - role: service
+  metrics_path: /probe
+  params:
+    module:
+        - http_2xx
+  relabel_configs:
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_probe
+    - source_labels:
+        - __address__
+      target_label: __param_target
+    - replacement: blackbox
+      target_label: __address__
+    - source_labels:
+        - __param_target
+      target_label: instance
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+- job_name: kubernetes-pods
+  kubernetes_sd_configs:
+    - role: pod
+  relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_pod_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_pod_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_pod_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_name
+      target_label: pod
+
+

Scrape targets

+
server.scrape.config.scrape_configs[4]object
+job_name: kubernetes-service-endpoints
+kubernetes_sd_configs:
+    - role: endpoints
+relabel_configs:
+    - action: drop
+      regex: true
+      source_labels:
+        - __meta_kubernetes_pod_container_init
+    - action: keep_if_equal
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+        - __meta_kubernetes_pod_container_port_number
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scrape
+    - action: replace
+      regex: (https?)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_scheme
+      target_label: __scheme__
+    - action: replace
+      regex: (.+)
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_path
+      target_label: __metrics_path__
+    - action: replace
+      regex: ([^:]+)(?::\d+)?;(\d+)
+      replacement: $1:$2
+      source_labels:
+        - __address__
+        - __meta_kubernetes_service_annotation_prometheus_io_port
+      target_label: __address__
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+    - action: replace
+      source_labels:
+        - __meta_kubernetes_pod_node_name
+      target_label: node
+
+

Scrape rule using kubernetes service discovery for endpoints

+
server.scrape.config.scrape_configs[6]object
+job_name: kubernetes-services
+kubernetes_sd_configs:
+    - role: service
+metrics_path: /probe
+params:
+    module:
+        - http_2xx
+relabel_configs:
+    - action: keep
+      regex: true
+      source_labels:
+        - __meta_kubernetes_service_annotation_prometheus_io_probe
+    - source_labels:
+        - __address__
+      target_label: __param_target
+    - replacement: blackbox
+      target_label: __address__
+    - source_labels:
+        - __param_target
+      target_label: instance
+    - action: labelmap
+      regex: __meta_kubernetes_service_label_(.+)
+    - source_labels:
+        - __meta_kubernetes_namespace
+      target_label: namespace
+    - source_labels:
+        - __meta_kubernetes_service_name
+      target_label: service
+
+

Example scrape config for probing services via the Blackbox Exporter. The relabeling allows the actual service scrape endpoint to be configured via the following annotations: * prometheus.io/probe: Only probe services that have a value of true

+
server.scrape.configMapstring
+""
+
+

Use existing configmap if specified otherwise .config values will be used. Scrape config should reside under scrape.yml key

+
server.scrape.enabledbool
+false
+
+

If true scrapes targets, creates config map or use specified one with scrape targets

+
server.scrape.extraScrapeConfigslist
+[]
+
+

Extra scrape configs that will be appended to server.scrape.config

+
server.securityContextobject
+enabled: true
+
+

Security context to be added to server pods

+
server.service.annotationsobject
+{}
+
+

Service annotations

+
server.service.clusterIPstring
+""
+
+

Service ClusterIP

+
server.service.externalIPslist
+[]
+
+

Service External IPs. Details are here

+
server.service.externalTrafficPolicystring
+""
+
+
server.service.healthCheckNodePortstring
+""
+
+
server.service.ipFamilieslist
+[]
+
+
server.service.ipFamilyPolicystring
+""
+
+
server.service.labelsobject
+{}
+
+

Service labels

+
server.service.loadBalancerIPstring
+""
+
+

Service load balacner IP

+
server.service.loadBalancerSourceRangeslist
+[]
+
+

Load balancer source range

+
server.service.servicePortint
+8428
+
+

Service port

+
server.service.typestring
+ClusterIP
+
+

Service type

+
server.serviceMonitor.annotationsobject
+{}
+
+

Service Monitor annotations

+
server.serviceMonitor.basicAuthobject
+{}
+
+

Basic auth params for Service Monitor

+
server.serviceMonitor.enabledbool
+false
+
+

Enable deployment of Service Monitor for server component. This is Prometheus operator object

+
server.serviceMonitor.extraLabelsobject
+{}
+
+

Service Monitor labels

+
server.serviceMonitor.metricRelabelingslist
+[]
+
+

Service Monitor metricRelabelings

+
server.serviceMonitor.relabelingslist
+[]
+
+

Service Monitor relabelings

+
server.statefulSet.enabledbool
+true
+
+

Creates statefulset instead of deployment, useful when you want to keep the cache

+
server.statefulSet.podManagementPolicystring
+OrderedReady
+
+

Deploy order policy for StatefulSet pods

+
server.terminationGracePeriodSecondsint
+60
+
+

Pod’s termination grace period in seconds

+
server.tolerationslist
+[]
+
+

Node tolerations for server scheduling to nodes with taints. Details are here

+
server.vmbackupmanager.destinationstring
+""
+
+

backup destination at S3, GCS or local filesystem. Release name will be included to path!

+
server.vmbackupmanager.disableDailybool
+false
+
+

disable daily backups

+
server.vmbackupmanager.disableHourlybool
+false
+
+

disable hourly backups

+
server.vmbackupmanager.disableMonthlybool
+false
+
+

disable monthly backups

+
server.vmbackupmanager.disableWeeklybool
+false
+
+

disable weekly backups

+
server.vmbackupmanager.enablebool
+false
+
+

enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages

+
server.vmbackupmanager.envlist
+[]
+
+

Additional environment variables (ex.: secret tokens, flags) https://docs.victoriametrics.com/#environment-variables

+
server.vmbackupmanager.extraArgs."envflag.enable"string
+"true"
+
+
server.vmbackupmanager.extraArgs."envflag.prefix"string
+VM_
+
+
server.vmbackupmanager.extraArgs.loggerFormatstring
+json
+
+
server.vmbackupmanager.extraVolumeMountslist
+[]
+
+
server.vmbackupmanager.image.registrystring
+""
+
+

vmbackupmanager image registry

+
server.vmbackupmanager.image.repositorystring
+victoriametrics/vmbackupmanager
+
+

vmbackupmanager image repository

+
server.vmbackupmanager.image.tagstring
+""
+
+

vmbackupmanager image tag

+
server.vmbackupmanager.image.variantstring
+""
+
+
server.vmbackupmanager.probe.liveness.failureThresholdint
+10
+
+
server.vmbackupmanager.probe.liveness.initialDelaySecondsint
+30
+
+
server.vmbackupmanager.probe.liveness.periodSecondsint
+30
+
+
server.vmbackupmanager.probe.liveness.tcpSocket.portstring
+manager-http
+
+
server.vmbackupmanager.probe.liveness.timeoutSecondsint
+5
+
+
server.vmbackupmanager.probe.readiness.failureThresholdint
+3
+
+
server.vmbackupmanager.probe.readiness.httpGet.portstring
+manager-http
+
+
server.vmbackupmanager.probe.readiness.initialDelaySecondsint
+5
+
+
server.vmbackupmanager.probe.readiness.periodSecondsint
+15
+
+
server.vmbackupmanager.probe.readiness.timeoutSecondsint
+5
+
+
server.vmbackupmanager.probe.startup.httpGet.portstring
+manager-http
+
+
server.vmbackupmanager.resourcesobject
+{}
+
+
server.vmbackupmanager.restoreobject
+onStart:
+    enabled: false
+
+

Allows to enable restore options for pod. Read more: https://docs.victoriametrics.com/vmbackupmanager#restore-commands

+
server.vmbackupmanager.retentionobject
+keepLastDaily: 2
+keepLastHourly: 2
+keepLastMonthly: 2
+keepLastWeekly: 2
+
+

backups’ retention settings

+
server.vmbackupmanager.retention.keepLastDailyint
+2
+
+

keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off

+
server.vmbackupmanager.retention.keepLastHourlyint
+2
+
+

keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off

+
server.vmbackupmanager.retention.keepLastMonthlyint
+2
+
+

keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off

+
server.vmbackupmanager.retention.keepLastWeeklyint
+2
+
+

keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off

+
serviceAccount.automountTokenbool
+true
+
+

Mount API token to pod directly

+
serviceAccount.createbool
+true
+
+

Create service account.

+
serviceAccount.extraLabelsobject
+{}
+
+
+ diff --git a/charts/victoria-metrics-single/README.md.gotmpl b/charts/victoria-metrics-single/README.md.gotmpl index 6e221d559..b3203a2bd 100644 --- a/charts/victoria-metrics-single/README.md.gotmpl +++ b/charts/victoria-metrics-single/README.md.gotmpl @@ -100,4 +100,23 @@ The following tables lists the configurable parameters of the chart and their de Change the values according to the need of the environment in ``victoria-metrics-single/values.yaml`` file. -{{ template "chart.valuesTable" . }} \ No newline at end of file +{{ define "chart.valueDefaultColumnRender" }} +{{- $defaultValue := (default .Default .AutoDefault) -}} +{{- $notationType := .NotationType }} +{{- if and (hasPrefix "`" $defaultValue) (hasSuffix "`" $defaultValue) -}} +{{- $defaultValue = (toYaml (fromJson (trimAll "`" (default .Default .AutoDefault) ) ) ) -}} +{{- if has .Type (list "list" "object" "map") -}} +{{- $notationType = "plaintext" }} +{{- end -}} +{{- end -}} +
+{{- if (eq $notationType "tpl" ) }}
+{{ .Key }}: |
+{{- $defaultValue | nindent 2 }}
+{{- else }}
+{{ $defaultValue }}
+{{- end }}
+
+{{ end }} + +{{ template "chart.valuesTableHtml" . }} diff --git a/charts/victoria-metrics-single/values.yaml b/charts/victoria-metrics-single/values.yaml index cca1808d8..57939ecea 100644 --- a/charts/victoria-metrics-single/values.yaml +++ b/charts/victoria-metrics-single/values.yaml @@ -30,7 +30,7 @@ serviceAccount: automountServiceAccountToken: true podDisruptionBudget: - # -- 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/) + # -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/) enabled: false # minAvailable: 1 # maxUnavailable: 1 @@ -108,7 +108,7 @@ server: # - -src=s3://your_bucket/folder/latest # - -credsFilePath=/etc/vm/creds/credentials - # -- 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/) + # -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/) tolerations: [] # - key: "key" @@ -116,7 +116,7 @@ server: # value: "value" # effect: "NoSchedule|PreferNoSchedule" - # -- Pod's node selector. Ref: [https://kubernetes.io/docs/user-guide/node-selection/](https://kubernetes.io/docs/user-guide/node-selection/) + # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/user-guide/node-selection/) nodeSelector: {} # -- Pod affinity @@ -143,7 +143,7 @@ server: # -- Create/use Persistent Volume Claim for server component. Empty dir if false enabled: true - # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/) + # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](http://kubernetes.io/docs/user-guide/persistent-volumes/) accessModes: - ReadWriteOnce # -- Persistant volume annotations @@ -174,7 +174,7 @@ server: # -- Pod's management policy podManagementPolicy: OrderedReady - # -- Resource object. Ref: [http://kubernetes.io/docs/user-guide/compute-resources/](http://kubernetes.io/docs/user-guide/compute-resources/ + # -- Resource object. Details are [here](http://kubernetes.io/docs/user-guide/compute-resources/) resources: {} # limits: @@ -211,7 +211,7 @@ server: # -- Security context to be added to server pods securityContext: enabled: true - # -- Pod's security context. Ref: [https://kubernetes.io/docs/tasks/configure-pod-container/security-context/](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) + # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) podSecurityContext: enabled: true ingress: @@ -316,7 +316,7 @@ server: labels: {} # -- Service ClusterIP clusterIP: "" - # -- Service External IPs. Ref: [https://kubernetes.io/docs/user-guide/services/#external-ips]( https://kubernetes.io/docs/user-guide/services/#external-ips) + # -- Service External IPs. Details are [here]( https://kubernetes.io/docs/user-guide/services/#external-ips) externalIPs: [] # -- Service load balacner IP loadBalancerIP: "" @@ -386,14 +386,14 @@ server: # -- Scrape targets scrape_configs: - # -- Scrape rule for scrape victoriametrics + # Scrape rule for scrape victoriametrics - job_name: victoriametrics static_configs: - targets: [ "localhost:8428" ] ## COPY from Prometheus helm chart https://github.com/helm/charts/blob/master/stable/prometheus/values.yaml - # -- Scrape config for API servers. + # Scrape config for API servers. # # Kubernetes exposes API servers as endpoints to the default/kubernetes # service so this uses `endpoints` role and uses relabelling to only keep @@ -434,7 +434,7 @@ server: ] action: keep regex: default;kubernetes;https - # -- Scrape rule using kubernetes service discovery for nodes + # Scrape rule using kubernetes service discovery for nodes - job_name: "kubernetes-nodes" # Default to scraping over https. If required, just disable this or change to # `http`. @@ -466,7 +466,7 @@ server: regex: (.+) target_label: __metrics_path__ replacement: /api/v1/nodes/$1/proxy/metrics - # -- Scrape rule using kubernetes service discovery for cadvisor + # Scrape rule using kubernetes service discovery for cadvisor - job_name: "kubernetes-nodes-cadvisor" # Default to scraping over https. If required, just disable this or change to # `http`. @@ -506,7 +506,7 @@ server: # ignore timestamps of cadvisor's metrics by default # more info here https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4697#issuecomment-1656540535 honor_timestamps: false - # -- Scrape config for service endpoints. + # Scrape config for service endpoints. # # The relabeling allows the actual service scrape endpoint to be configured # via the following annotations: @@ -517,6 +517,7 @@ server: # * `prometheus.io/path`: If the metrics path is not `/metrics` override this. # * `prometheus.io/port`: If the metrics are exposed on a different port to the # service then set this appropriately. + # # -- Scrape rule using kubernetes service discovery for endpoints - job_name: "kubernetes-service-endpoints" kubernetes_sd_configs: @@ -561,7 +562,7 @@ server: - source_labels: [ __meta_kubernetes_pod_node_name ] action: replace target_label: node - # -- Scrape config for slow service endpoints; same as above, but with a larger + # Scrape config for slow service endpoints; same as above, but with a larger # timeout and a larger interval # # The relabeling allows the actual service scrape endpoint to be configured @@ -573,6 +574,7 @@ server: # * `prometheus.io/path`: If the metrics path is not `/metrics` override this. # * `prometheus.io/port`: If the metrics are exposed on a different port to the # service then set this appropriately. + # - job_name: "kubernetes-service-endpoints-slow" scrape_interval: 5m scrape_timeout: 30s @@ -624,6 +626,7 @@ server: # via the following annotations: # # * `prometheus.io/probe`: Only probe services that have a value of `true` + # - job_name: "kubernetes-services" metrics_path: /probe params: @@ -647,7 +650,7 @@ server: target_label: namespace - source_labels: [ __meta_kubernetes_service_name ] target_label: service - # -- Example scrape config for pods + # Example scrape config for pods # # The relabeling allows the actual pod scrape endpoint to be configured via the # following annotations: @@ -655,6 +658,7 @@ server: # * `prometheus.io/scrape`: Only scrape pods that have a value of `true` # * `prometheus.io/path`: If the metrics path is not `/metrics` override this. # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`. + # - job_name: "kubernetes-pods" kubernetes_sd_configs: - role: pod