Version ArtifactHub License Slack X Reddit

VictoriaLogs cluster version - high-performance, cost-effective and scalable logs storage

Prerequisites #

  • Install the follow packages: git, kubectl, helm, helm-docs. See this tutorial.

  • PV support on underlying infrastructure.

Chart Details #

This chart will do the following:

Chart allows to configure logs collection from Kubernetes pods to VictoriaLogs. In order to do that you need to enable vector:

      vector:
  enabled: true
    

By default, vector will forward logs to VictoriaLogs installation deployed by this chart.

How to install #

Access a Kubernetes cluster.

Setup chart repository (can be omitted for OCI repositories) #

Add a chart helm repository with follow commands:

      helm repo add vm https://victoriametrics.github.io/helm-charts/

helm repo update

    

List versions of vm/victoria-logs-cluster chart available to installation:

      helm search repo vm/victoria-logs-cluster -l

    

Install victoria-logs-cluster chart #

Export default values of victoria-logs-cluster chart to file values.yaml:

  • For HTTPS repository

          helm show values vm/victoria-logs-cluster > values.yaml
    
        
  • For OCI repository

          helm show values oci://ghcr.io/victoriametrics/helm-charts/victoria-logs-cluster > values.yaml
    
        

Change the values according to the need of the environment in values.yaml file.

Test the installation with command:

  • For HTTPS repository

          helm install vlc vm/victoria-logs-cluster -f values.yaml -n NAMESPACE --debug --dry-run
    
        
  • For OCI repository

          helm install vlc oci://ghcr.io/victoriametrics/helm-charts/victoria-logs-cluster -f values.yaml -n NAMESPACE --debug --dry-run
    
        

Install chart with command:

  • For HTTPS repository

          helm install vlc vm/victoria-logs-cluster -f values.yaml -n NAMESPACE
    
        
  • For OCI repository

          helm install vlc oci://ghcr.io/victoriametrics/helm-charts/victoria-logs-cluster -f values.yaml -n NAMESPACE
    
        

Get the pods lists by running this commands:

      kubectl get pods -A | grep 'vlc'

    

Get the application by running this command:

      helm list -f vlc -n NAMESPACE

    

See the history of versions of vlc application with command.

      helm history vlc -n NAMESPACE

    

How to uninstall #

Remove application with command.

      helm uninstall vlc -n NAMESPACE

    

Documentation of Helm Chart #

Install helm-docs following the instructions on this tutorial.

Generate docs with helm-docs command.

      cd charts/victoria-logs-cluster

helm-docs
    

The markdown generation is entirely go template driven. The tool parses metadata from charts and generates a number of sub-templates that can be referenced in a template file (by default README.md.gotmpl). If no template file is provided, the tool has a default internal template that will generate a reasonably formatted README.

Parameters #

The following tables lists the configurable parameters of the chart and their default values.

Change the values according to the need of the environment in victoria-logs-cluster/values.yaml file.

KeyDescription
common.image:
    tag: ""
(object)

common for all components image configuration

extraObjects: []
(list)

Add extra specs dynamically to this chart

global.cluster:
    dnsDomain: cluster.local.
(object)

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

global.compatibility:
    openshift:
        adaptSecurityContext: auto
(object)

Openshift security context compatibility configuration

global.image.registry: ""
(string)

Image registry, that can be shared across multiple helm charts

global.imagePullSecrets: []
(list)

Image pull secrets, that can be shared across multiple helm charts

nameOverride: ""
(string)

Override chart name

printNotes: true
(bool)

Print information after deployment

serviceAccount.annotations: {}
(object)

Service account annotations

serviceAccount.automountToken: true
(bool)

mount API token to pod directly

serviceAccount.create: false
(bool)

Specifies whether a service account should be created

serviceAccount.extraLabels: {}
(object)

Service account labels

serviceAccount.name: null
(string)

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

vector:
    args:
        - -w
        - --config-dir
        - /etc/vector/
    containerPorts:
        - containerPort: 9090
          name: prom-exporter
          protocol: TCP
    customConfig:
        api:
            address: 0.0.0.0:8686
            enabled: false
            playground: true
        data_dir: /vector-data-dir
        sinks:
            exporter:
                address: 0.0.0.0:9090
                inputs:
                    - internal_metrics
                type: prometheus_exporter
            vlogs:
                api_version: v8
                compression: gzip
                endpoints: << include "vlogs.es.urls" . >>
                healthcheck:
                    enabled: false
                inputs:
                    - parser
                mode: bulk
                request:
                    headers:
                        AccountID: "0"
                        ProjectID: "0"
                        VL-Msg-Field: message,msg,_msg,log.msg,log.message,log
                        VL-Stream-Fields: stream,kubernetes.pod_name,kubernetes.container_name,kubernetes.pod_namespace
                        VL-Time-Field: timestamp
                type: elasticsearch
        sources:
            internal_metrics:
                type: internal_metrics
            k8s:
                type: kubernetes_logs
        transforms:
            parser:
                inputs:
                    - k8s
                source: |
                    .log = parse_json(.message) ?? .message
                    del(.message)
                type: remap
    customConfigNamespace: ""
    dataDir: /vector-data-dir
    enabled: false
    existingConfigMaps:
        - vector-vl-config
    resources: {}
    role: Agent
    service:
        enabled: false
(object)

Values for vector helm chart

vector.customConfigNamespace: ""
(string)

Forces custom configuration creation in a given namespace even if vector.enabled is false

vector.enabled: false
(bool)

Enable deployment of vector

vlinsert.affinity: {}
(object)

Pod affinity

vlinsert.annotations: {}
(object)

Deployment annotations

vlinsert.containerWorkingDir: ""
(string)

Container workdir

vlinsert.enabled: true
(bool)

Enable deployment of vlinsert component.

vlinsert.env: []
(list)

Additional environment variables (ex.: secret tokens, flags). Check here for details.

vlinsert.envFrom: []
(list)

Specify alternative source for env variables

vlinsert.excludeStorageIDs: []
(list)

IDs of vlstorage nodes to exclude from writing

vlinsert.extraArgs:
    envflag.enable: true
    httpListenAddr: :9481
    loggerFormat: json
(object)

Extra command line arguments for vlinsert component

vlinsert.extraContainers: []
(list)

Extra containers to run in a pod with vlinsert

vlinsert.extraLabels: {}
(object)

Deployment additional labels

vlinsert.extraVolumeMounts: []
(list)

Extra Volume Mounts for the container

vlinsert.extraVolumes: []
(list)

Extra Volumes for the pod

vlinsert.fullnameOverride: ""
(string)

Overrides the full name of vlinsert component

vlinsert.horizontalPodAutoscaler.behavior: {}
(object)

Behavior settings for scaling by the HPA

vlinsert.horizontalPodAutoscaler.enabled: false
(bool)

Use HPA for vlinsert component

vlinsert.horizontalPodAutoscaler.maxReplicas: 10
(int)

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

vlinsert.horizontalPodAutoscaler.metrics: []
(list)

Metric for HPA to use to scale the vlinsert component

vlinsert.horizontalPodAutoscaler.minReplicas: 2
(int)

Minimum replicas for HPA to use to scale the vlinsert component

vlinsert.image.pullPolicy: IfNotPresent
(string)

Image pull policy

vlinsert.image.registry: ""
(string)

Image registry

vlinsert.image.repository: victoriametrics/victoria-logs
(string)

Image repository

vlinsert.image.tag: ""
(string)

Image tag override Chart.AppVersion

vlinsert.image.variant: victorialogs
(string)

Image tag suffix, which is appended to Chart.AppVersion if no server.image.tag is defined

vlinsert.ingress.annotations: {}
(object)

Ingress annotations

vlinsert.ingress.enabled: false
(bool)

Enable ingress for vlinsert component

vlinsert.ingress.extraLabels: {}
(object)

Ingress extra labels

vlinsert.ingress.hosts:
    - name: vlinsert.local
      path:
        - /insert
      port: http
(list)

Array of host objects

vlinsert.ingress.ingressClassName: ""
(string)

Ingress controller class name

vlinsert.ingress.pathType: Prefix
(string)

Ingress path type

vlinsert.ingress.tls: []
(list)

Array of TLS objects

vlinsert.initContainers: []
(list)

Init containers for vlinsert

vlinsert.lifecycle: {}
(object)

Specify pod lifecycle

vlinsert.name: ""
(string)

Override default app label name

vlinsert.nodeSelector: {}
(object)

Pod’s node selector. Details are here

vlinsert.podAnnotations: {}
(object)

Pod’s annotations

vlinsert.podDisruptionBudget:
    enabled: false
    labels: {}
(object)

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

vlinsert.podLabels: {}
(object)

Pod’s additional labels

vlinsert.podSecurityContext:
    enabled: true
    fsGroup: 1000
(object)

Pod’s security context. Details are here

vlinsert.ports.name: http
(string)

vlinsert http port name

vlinsert.priorityClassName: ""
(string)

Name of Priority Class

vlinsert.probe:
    liveness:
        failureThreshold: 3
        initialDelaySeconds: 5
        periodSeconds: 15
        tcpSocket: {}
        timeoutSeconds: 5
    readiness:
        failureThreshold: 10
        httpGet: {}
        initialDelaySeconds: 5
        periodSeconds: 5
        timeoutSeconds: 5
    startup: {}
(object)

Readiness & Liveness probes

vlinsert.probe.liveness:
    failureThreshold: 3
    initialDelaySeconds: 5
    periodSeconds: 15
    tcpSocket: {}
    timeoutSeconds: 5
(object)

vlinsert liveness probe

vlinsert.probe.readiness:
    failureThreshold: 10
    httpGet: {}
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 5
(object)

vlinsert readiness probe

vlinsert.probe.startup: {}
(object)

vlinsert startup probe

vlinsert.replicaCount: 2
(int)

Count of vlinsert pods

vlinsert.resources: {}
(object)

Resource object. Details are here

vlinsert.securityContext:
    enabled: true
    runAsGroup: 1000
    runAsNonRoot: true
    runAsUser: 1000
(object)

Check here for details.

vlinsert.service.annotations: {}
(object)

Service annotations

vlinsert.service.clusterIP: ""
(string)

Service ClusterIP

vlinsert.service.enabled: true
(bool)

Create vlinsert service

vlinsert.service.externalIPs: []
(list)

Service external IPs. Details are here

vlinsert.service.externalTrafficPolicy: ""
(string)

Service external traffic policy. Check here for details

vlinsert.service.extraPorts: []
(list)

Extra service ports

vlinsert.service.healthCheckNodePort: ""
(string)

Health check node port for a service. Check here for details

vlinsert.service.ipFamilies: []
(list)

List of service IP families. Check here for details.

vlinsert.service.ipFamilyPolicy: ""
(string)

Service IP family policy. Check here for details.

vlinsert.service.labels: {}
(object)

Service labels

vlinsert.service.loadBalancerIP: ""
(string)

Service load balancer IP

vlinsert.service.loadBalancerSourceRanges: []
(list)

Load balancer source range

vlinsert.service.servicePort: 9481
(int)

Service port

vlinsert.service.targetPort: http
(string)

Target port

vlinsert.service.type: ClusterIP
(string)

Service type

vlinsert.strategy: {}
(object)

vlinsert strategy

vlinsert.suppressStorageFQDNsRender: false
(bool)

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

vlinsert.terminationGracePeriodSeconds: 30
(int)
vlinsert.tolerations: []
(list)

Array of tolerations object. Details are here

vlinsert.topologySpreadConstraints: []
(list)

Pod topologySpreadConstraints

vlinsert.vmServiceScrape.annotations: {}
(object)

VMServiceScrape annotations

vlinsert.vmServiceScrape.enabled: false
(bool)

Enable VMServiceScrape for vlinsert component, which is managed by vm-operator.

vlinsert.vmServiceScrape.extraLabels: {}
(object)

VMServiceScrape labels

vlinsert.vmServiceScrape.namespace: ""
(string)

Target namespace of VMServiceScrape manifest

vlinsert.vmServiceScrape.spec.endpoints[0].port: http
(string)
vlinsert.vmServiceScrape.useServiceMonitor: false
(bool)

Create ServiceMonitor instead of VMServiceScrape, which is managed by prometheus-operator

vlselect.affinity: {}
(object)

Pod affinity

vlselect.annotations: {}
(object)

Deployment annotations

vlselect.containerWorkingDir: ""
(string)

Container workdir

vlselect.enabled: true
(bool)

Enable deployment of vlselect component.

vlselect.env: []
(list)

Additional environment variables (ex.: secret tokens, flags). Check here for details.

vlselect.envFrom: []
(list)

Specify alternative source for env variables

vlselect.extraArgs:
    envflag.enable: true
    httpListenAddr: :9471
    loggerFormat: json
(object)

Extra command line arguments for vlselect component

vlselect.extraContainers: []
(list)

Extra containers to run in a pod with vlselect

vlselect.extraLabels: {}
(object)

Deployment additional labels

vlselect.extraVolumeMounts: []
(list)

Extra Volume Mounts for the container

vlselect.extraVolumes: []
(list)

Extra Volumes for the pod

vlselect.fullnameOverride: ""
(string)

Overrides the full name of vlselect component

vlselect.horizontalPodAutoscaler.behavior: {}
(object)

Behavior settings for scaling by the HPA

vlselect.horizontalPodAutoscaler.enabled: false
(bool)

Use HPA for vlselect component

vlselect.horizontalPodAutoscaler.maxReplicas: 10
(int)

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

vlselect.horizontalPodAutoscaler.metrics: []
(list)

Metric for HPA to use to scale the vlselect component

vlselect.horizontalPodAutoscaler.minReplicas: 2
(int)

Minimum replicas for HPA to use to scale the vlselect component

vlselect.image.pullPolicy: IfNotPresent
(string)

Image pull policy

vlselect.image.registry: ""
(string)

Image registry

vlselect.image.repository: victoriametrics/victoria-logs
(string)

Image repository

vlselect.image.tag: ""
(string)

Image tag override Chart.AppVersion

vlselect.image.variant: victorialogs
(string)

Image tag suffix, which is appended to Chart.AppVersion if no server.image.tag is defined

vlselect.ingress.annotations: {}
(object)

Ingress annotations

vlselect.ingress.enabled: false
(bool)

Enable deployment of ingress for vlselect component

vlselect.ingress.extraLabels: {}
(object)

Ingress extra labels

vlselect.ingress.hosts:
    - name: vlselect.local
      path:
        - /select
      port: http
(list)

Array of host objects

vlselect.ingress.ingressClassName: ""
(string)

Ingress controller class name

vlselect.ingress.pathType: Prefix
(string)

Ingress path type

vlselect.ingress.tls: []
(list)

Array of TLS objects

vlselect.initContainers: []
(list)

Init containers for vlselect

vlselect.lifecycle: {}
(object)

Specify pod lifecycle

vlselect.name: ""
(string)

Override default app label name

vlselect.nodeSelector: {}
(object)

Pod’s node selector. Details are here

vlselect.podAnnotations: {}
(object)

Pod’s annotations

vlselect.podDisruptionBudget:
    enabled: false
    labels: {}
(object)

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

vlselect.podDisruptionBudget.enabled: false
(bool)

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

vlselect.podLabels: {}
(object)

Pod’s additional labels

vlselect.podSecurityContext:
    enabled: true
    fsGroup: 1000
(object)

Pod’s security context. Details are here

vlselect.ports.name: http
(string)

vlselect http port name

vlselect.priorityClassName: ""
(string)

Name of Priority Class

vlselect.probe:
    liveness:
        failureThreshold: 3
        initialDelaySeconds: 5
        periodSeconds: 15
        tcpSocket: {}
        timeoutSeconds: 5
    readiness:
        failureThreshold: 10
        httpGet: {}
        initialDelaySeconds: 5
        periodSeconds: 5
        timeoutSeconds: 5
    startup: {}
(object)

Readiness & Liveness probes

vlselect.probe.liveness:
    failureThreshold: 3
    initialDelaySeconds: 5
    periodSeconds: 15
    tcpSocket: {}
    timeoutSeconds: 5
(object)

vlselect liveness probe

vlselect.probe.readiness:
    failureThreshold: 10
    httpGet: {}
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 5
(object)

vlselect readiness probe

vlselect.probe.startup: {}
(object)

vlselect startup probe

vlselect.replicaCount: 2
(int)

Count of vlselect pods

vlselect.resources: {}
(object)

Resource object. Details are here

vlselect.securityContext:
    enabled: true
    runAsGroup: 1000
    runAsNonRoot: true
    runAsUser: 1000
(object)

Check here for details.

vlselect.service.annotations: {}
(object)

Service annotations

vlselect.service.clusterIP: ""
(string)

Service ClusterIP

vlselect.service.enabled: true
(bool)

Create vlselect service

vlselect.service.externalIPs: []
(list)

Service external IPs. Details are here

vlselect.service.externalTrafficPolicy: ""
(string)

Service external traffic policy. Check here for details

vlselect.service.extraPorts: []
(list)

Extra service ports

vlselect.service.healthCheckNodePort: ""
(string)

Health check node port for a service. Check here for details

vlselect.service.ipFamilies: []
(list)

List of service IP families. Check here for details.

vlselect.service.ipFamilyPolicy: ""
(string)

Service IP family policy. Check here for details.

vlselect.service.labels: {}
(object)

Service labels

vlselect.service.loadBalancerIP: ""
(string)

Service load balancer IP

vlselect.service.loadBalancerSourceRanges: []
(list)

Load balancer source range

vlselect.service.servicePort: 9471
(int)

Service port

vlselect.service.targetPort: http
(string)

Target port

vlselect.service.type: ClusterIP
(string)

Service type

vlselect.strategy: {}
(object)
vlselect.suppressStorageFQDNsRender: false
(bool)

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

vlselect.terminationGracePeriodSeconds: 60
(int)

Pod’s termination grace period in seconds

vlselect.tolerations: []
(list)

Array of tolerations object. Details are here

vlselect.topologySpreadConstraints: []
(list)

Pod topologySpreadConstraints

vlselect.vmServiceScrape.annotations: {}
(object)

VMServiceScrape annotations

vlselect.vmServiceScrape.enabled: false
(bool)

Enable VMServiceScrape for vlselect component, which is managed by vm-operator.

vlselect.vmServiceScrape.extraLabels: {}
(object)

VMServiceScrape labels

vlselect.vmServiceScrape.namespace: ""
(string)

Target namespace of VMServiceScrape manifest

vlselect.vmServiceScrape.spec.endpoints[0].port: http
(string)
vlselect.vmServiceScrape.useServiceMonitor: false
(bool)

Create ServiceMonitor instead of VMServiceScrape, which is managed by prometheus-operator

vlstorage.affinity: {}
(object)

Pod affinity

vlstorage.annotations: {}
(object)

StatefulSet/Deployment annotations

vlstorage.containerWorkingDir: ""
(string)

Container workdir

vlstorage.emptyDir: {}
(object)

Empty dir configuration if persistence is disabled

vlstorage.enabled: true
(bool)

Enable deployment of vlstorage component. StatefulSet is used

vlstorage.env: []
(list)

Additional environment variables (ex.: secret tokens, flags). Check here for details

vlstorage.envFrom: []
(list)

Specify alternative source for env variables

vlstorage.extraArgs:
    envflag.enable: true
    httpListenAddr: :9491
    loggerFormat: json
(object)

Additional vlstorage container arguments. Extra command line arguments for vlstorage component

vlstorage.extraContainers: []
(list)

Extra containers to run in a pod with vlstorage

vlstorage.extraLabels: {}
(object)

StatefulSet/Deployment additional labels

vlstorage.extraVolumeMounts: []
(list)

Extra Volume Mounts for the container

vlstorage.extraVolumes: []
(list)

Extra Volumes for the pod

vlstorage.fullnameOverride: null
(string)

Overrides the full name of vlstorage component

vlstorage.horizontalPodAutoscaler.behavior:
    scaleDown:
        selectPolicy: Disabled
(object)

Behavior settings for scaling by the HPA

vlstorage.horizontalPodAutoscaler.enabled: false
(bool)

Use HPA for vlstorage component

vlstorage.horizontalPodAutoscaler.maxReplicas: 10
(int)

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

vlstorage.horizontalPodAutoscaler.metrics: []
(list)

Metric for HPA to use to scale the vlstorage component

vlstorage.horizontalPodAutoscaler.minReplicas: 2
(int)

Minimum replicas for HPA to use to scale the vlstorage component

vlstorage.image.pullPolicy: IfNotPresent
(string)

Image pull policy

vlstorage.image.registry: ""
(string)

Image registry

vlstorage.image.repository: victoriametrics/victoria-logs
(string)

Image repository

vlstorage.image.tag: ""
(string)

Image tag override Chart.AppVersion

vlstorage.image.variant: victorialogs
(string)

Image tag suffix, which is appended to Chart.AppVersion if no server.image.tag is defined

vlstorage.initContainers: []
(list)

Init containers for vlstorage

vlstorage.lifecycle: {}
(object)

Specify pod lifecycle

vlstorage.minReadySeconds: 5
(int)
vlstorage.name: ""
(string)

Override default app label name

vlstorage.nodeSelector: {}
(object)

Pod’s node selector. Details are here

vlstorage.persistentVolume.accessModes:
    - ReadWriteOnce
(list)

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

vlstorage.persistentVolume.annotations: {}
(object)

Persistent volume annotations

vlstorage.persistentVolume.enabled: true
(bool)

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

vlstorage.persistentVolume.existingClaim: ""
(string)

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

vlstorage.persistentVolume.labels: {}
(object)

Persistent volume labels

vlstorage.persistentVolume.mountPath: /storage
(string)

Data root path. vlstorage data Persistent Volume mount root path

vlstorage.persistentVolume.name: vlstorage-volume
(string)
vlstorage.persistentVolume.size: 10Gi
(string)

Size of the volume.

vlstorage.persistentVolume.storageClassName: ""
(string)

Storage class name. Will be empty if not set

vlstorage.persistentVolume.subPath: ""
(string)

Mount subpath

vlstorage.podAnnotations: {}
(object)

Pod’s annotations

vlstorage.podDisruptionBudget:
    enabled: false
    labels: {}
(object)

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

vlstorage.podLabels: {}
(object)

Pod’s additional labels

vlstorage.podManagementPolicy: OrderedReady
(string)

Deploy order policy for StatefulSet pods

vlstorage.podSecurityContext:
    enabled: true
    fsGroup: 1000
(object)

Pod’s security context. Details are here

vlstorage.ports.name: http
(string)

vlstorage http port name

vlstorage.priorityClassName: ""
(string)

Name of Priority Class

vlstorage.probe:
    readiness:
        failureThreshold: 10
        httpGet: {}
        initialDelaySeconds: 5
        periodSeconds: 5
        timeoutSeconds: 5
    startup: {}
(object)

Readiness probes

vlstorage.probe.readiness:
    failureThreshold: 10
    httpGet: {}
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 5
(object)

vlstorage readiness probe

vlstorage.probe.startup: {}
(object)

vlstorage startup probe

vlstorage.replicaCount: 2
(int)

Count of vlstorage pods

vlstorage.resources: {}
(object)

Resource object. Details are here

vlstorage.retentionDiskSpaceUsage: ""
(string)

Data retention max capacity. Default unit is GiB. See these docs

vlstorage.retentionPeriod: 7d
(string)

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

vlstorage.securityContext:
    enabled: true
    runAsGroup: 1000
    runAsNonRoot: true
    runAsUser: 1000
(object)

Check here for details.

vlstorage.service.annotations: {}
(object)

Service annotations

vlstorage.service.clusterIP: None
(string)

Service ClusterIP

vlstorage.service.enabled: true
(bool)
vlstorage.service.externalTrafficPolicy: ""
(string)

Service external traffic policy. Check here for details

vlstorage.service.extraPorts: []
(list)

Extra service ports

vlstorage.service.healthCheckNodePort: ""
(string)

Health check node port for a service. Check here for details

vlstorage.service.ipFamilies: []
(list)

List of service IP families. Check here for details.

vlstorage.service.ipFamilyPolicy: ""
(string)

Service IP family policy. Check here for details.

vlstorage.service.labels: {}
(object)

Service labels

vlstorage.service.servicePort: 9491
(int)

Service port

vlstorage.service.targetPort: http
(string)

Target port

vlstorage.service.type: ClusterIP
(string)

Service type

vlstorage.terminationGracePeriodSeconds: 60
(int)

Pod’s termination grace period in seconds

vlstorage.tolerations: []
(list)

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

vlstorage.topologySpreadConstraints: []
(list)

Pod topologySpreadConstraints

vlstorage.vmServiceScrape.annotations: {}
(object)

VMServiceScrape annotations

vlstorage.vmServiceScrape.enabled: false
(bool)

Enable VMServiceScrape for vlstorage component, which is managed by vm-operator.

vlstorage.vmServiceScrape.extraLabels: {}
(object)

VMServiceScrape labels

vlstorage.vmServiceScrape.namespace: ""
(string)

Target namespace of VMServiceScrape manifest

vlstorage.vmServiceScrape.spec.endpoints[0].port: http
(string)
vlstorage.vmServiceScrape.useServiceMonitor: false
(bool)

Create ServiceMonitor instead of VMServiceScrape, which is managed by prometheus-operator

vmauth.affinity: {}
(object)

Pod affinity

vmauth.annotations: {}
(object)

VMAuth annotations

vmauth.config: {}
(object)
vmauth.configSecretName: ""
(string)

VMAuth configuration secret name

vmauth.containerWorkingDir: ""
(string)

Container workdir

vmauth.enabled: false
(bool)

Enable deployment of vmauth component, to help better balance the read and write requests to vlinsert and vlselect components. With vmauth enabled, please also set service.clusterIP: None and service.type: ClusterIP for vlinsert and vlselect.

vmauth.env: []
(list)

Additional environment variables (ex.: secret tokens, flags). Check here for details

vmauth.envFrom: []
(list)

Specify alternative source for env variables

vmauth.extraArgs:
    envflag.enable: true
    httpListenAddr: :8427
    loggerFormat: json
(object)

Extra command line arguments for vmauth component

vmauth.extraContainers: []
(list)

Extra containers to run in a pod with vmauth

vmauth.extraLabels: {}
(object)

VMAuth additional labels

vmauth.extraVolumeMounts: []
(list)

Extra Volume Mounts for the container

vmauth.extraVolumes: []
(list)

Extra Volumes for the pod

vmauth.fullnameOverride: ""
(string)

Overrides the full name of vmauth component

vmauth.horizontalPodAutoscaler.behavior: {}
(object)

Behavior settings for scaling by the HPA

vmauth.horizontalPodAutoscaler.enabled: false
(bool)

Use HPA for vmauth component

vmauth.horizontalPodAutoscaler.maxReplicas: 10
(int)

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

vmauth.horizontalPodAutoscaler.metrics: []
(list)

Metric for HPA to use to scale the vmauth component

vmauth.horizontalPodAutoscaler.minReplicas: 2
(int)

Minimum replicas for HPA to use to scale the vmauth component

vmauth.image.pullPolicy: IfNotPresent
(string)

Image pull policy

vmauth.image.registry: ""
(string)

Image registry

vmauth.image.repository: victoriametrics/vmauth
(string)

Image repository

vmauth.image.tag: v1.116.0
(string)

Image tag override the default Chart.AppVersion, which is for vlogs components

vmauth.ingress.annotations: {}
(object)

Ingress annotations

vmauth.ingress.enabled: false
(bool)

Enable deployment of ingress for vmauth component

vmauth.ingress.extraLabels: {}
(object)
vmauth.ingress.hosts:
    - name: vmauth.local
      path:
        - /insert
      port: http
(list)

Array of host objects

vmauth.ingress.pathType: Prefix
(string)

pathType is only for k8s >= 1.1=

vmauth.ingress.tls: []
(list)

Array of TLS objects

vmauth.initContainers: []
(list)

Init containers for vmauth

vmauth.lifecycle: {}
(object)

Specify pod lifecycle

vmauth.name: ""
(string)

Override default app label name

vmauth.nodeSelector: {}
(object)

Pod’s node selector. Details are here

vmauth.podAnnotations: {}
(object)

Pod’s annotations

vmauth.podDisruptionBudget:
    enabled: false
    labels: {}
(object)

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

vmauth.podLabels: {}
(object)

VMAuth pod labels

vmauth.podSecurityContext:
    enabled: true
    fsGroup: 1000
(object)

Pod’s security context. Details are here

vmauth.ports.name: http
(string)

VMAuth http port name

vmauth.priorityClassName: ""
(string)

Name of Priority Class

vmauth.probe.liveness:
    failureThreshold: 3
    initialDelaySeconds: 5
    periodSeconds: 15
    tcpSocket: {}
    timeoutSeconds: 5
(object)

VMAuth liveness probe

vmauth.probe.readiness:
    failureThreshold: 10
    httpGet: {}
    initialDelaySeconds: 5
    periodSeconds: 5
    timeoutSeconds: 5
(object)

VMAuth readiness probe

vmauth.probe.startup: {}
(object)

VMAuth startup probe

vmauth.replicaCount: 2
(int)

Count of vmauth pods

vmauth.resources: {}
(object)

Resource object

vmauth.securityContext:
    enabled: true
    runAsGroup: 1000
    runAsNonRoot: true
    runAsUser: 1000
(object)

Check here for details.

vmauth.service.annotations: {}
(object)

Service annotations

vmauth.service.clusterIP: ""
(string)

Service ClusterIP

vmauth.service.enabled: true
(bool)

Create VMAuth service

vmauth.service.externalIPs: []
(list)

Service External IPs. Details are here

vmauth.service.externalTrafficPolicy: ""
(string)

Service external traffic policy. Check here for details

vmauth.service.extraPorts: []
(list)

Extra service ports

vmauth.service.healthCheckNodePort: ""
(string)

Health check node port for a service. Check here for details

vmauth.service.ipFamilies: []
(list)

List of service IP families. Check here for details.

vmauth.service.ipFamilyPolicy: ""
(string)

Service IP family policy. Check here for details.

vmauth.service.labels: {}
(object)

Service labels

vmauth.service.loadBalancerIP: ""
(string)

Service load balancer IP

vmauth.service.loadBalancerSourceRanges: []
(list)

Load balancer source range

vmauth.service.servicePort: 8427
(int)

Service port

vmauth.service.targetPort: http
(string)

Target port

vmauth.service.type: ClusterIP
(string)

Service type

vmauth.strategy: {}
(object)

VMAuth Deployment strategy

vmauth.tolerations: []
(list)

Array of tolerations object. Details are here

vmauth.topologySpreadConstraints: []
(list)

Pod topologySpreadConstraints

vmauth.vmServiceScrape.annotations: {}
(object)

VMServiceScrape annotations

vmauth.vmServiceScrape.enabled: false
(bool)

Enable VMServiceScrape for vmauth component, which is managed by vm-operator.

vmauth.vmServiceScrape.extraLabels: {}
(object)

VMServiceScrape labels

vmauth.vmServiceScrape.namespace: ""
(string)

Target namespace of VMServiceScrape manifest

vmauth.vmServiceScrape.spec.endpoints[0].port: http
(string)
vmauth.vmServiceScrape.useServiceMonitor: false
(bool)

Create ServiceMonitor instead of VMServiceScrape, which is managed by prometheus-operator