1# Default values for victoria-logs.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
5 # -- Image pull secrets, that can be shared across multiple helm charts
8 # -- Image registry, that can be shared across multiple helm charts
10 # -- Openshift security context compatibility configuration
13 adaptSecurityContext: "auto"
15 # -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
16 dnsDomain: cluster.local.
17 # -- Labels added to all resources
19 # -- Annotations added to all resources
21# -- Override chart name
26 # -- Create service account.
28 # -- The name of the service account to use.
29 # If not set and create is true, a name is generated using the fullname template
31 # -- ServiceAccount labels
33 # -- ServiceAccount annotations
35 # -- Mount API token to pod directly
37# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
40 # -- min number or percentage of pods that can be unavailable
42 # -- max number or percentage of pods that can be unavailable
44 # -- Defines criteria when unhealthy pods should be considered for eviction
45 unhealthyPodEvictionPolicy:
46 # -- PodDisruptionBudget extra labels
49 # -- Enable deployment of server component. Deployed as StatefulSet
53 registry: chainreg.biz
55 repository: chainguard-private/victorialogs
57 tag: 1.52.0-r5@sha256:54d1480a617c5e826d8935729e3d8e75338a555bffb924a3ab23cf194a79d4c0
58 # -- Image tag suffix, which is appended to `Chart.AppVersion` if no `server.image.tag` is defined
60 # -- Image pull policy
61 pullPolicy: IfNotPresent
62 # -- Image pull secrets
64 # -- Override default container command. Use when the VictoriaLogs binary is available at a custom path
68 # -- Name of Priority Class
70 # -- Name of the [RuntimeClass](https://kubernetes.io/docs/concepts/containers/runtime-class/) used to run the pod, e.g. "gvisor"
72 # -- Overrides the full name of server component
74 # -- 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/victorialogs/#retention)
76 # -- Data retention max capacity. Default unit is GiB. See these [docs](https://docs.victoriametrics.com/victorialogs/#retention-by-disk-space-usage)
77 retentionDiskSpaceUsage: ""
78 # -- Data retention max percentile capacity. See these [docs](https://docs.victoriametrics.com/victorialogs/#percentage-based-disk-space-limit)
79 retentionMaxDiskUsagePercent: ""
80 # -- List of HTTP listen addresses
91 tlsAutocertCacheDir: ""
94 # -- List of Syslog listen addresses
106 # decolorizeFields: ""
110 # useLocalTimestamp: false
112 # -- Extra command line arguments for container of component
117 http.shutdownDelay: 15s
118 # -- Specify pod lifecycle
120 # -- Additional hostPath mounts
121 extraHostPathMounts: []
123 # mountPath: /etc/kubernetes/certs
125 # hostPath: /etc/kubernetes/certs
128 # -- Extra Volumes for the pod
134 # -- Extra Volume Mounts for the container
135 extraVolumeMounts: []
137 # mountPath: /example
139 # -- Extra containers to run in a pod with Victoria Logs container
141 #- name: config-reloader
142 # image: reloader-image
144 # -- Init containers for Victoria Logs Pod
146 # -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
149 # operator: "Equal|Exists"
151 # effect: "NoSchedule|PreferNoSchedule"
153 # -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
155 # -- Pod topologySpreadConstraints
156 topologySpreadConstraints: []
159 # -- Additional environment variables (ex.: secret tokens, flags). Details are [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables)
161 # -- Specify alternative source for env variables
164 # name: special-config
166 # -- Container workdir
167 containerWorkingDir: ""
168 # -- Use an alternate scheduler, e.g. "stork". Check details [here](https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/)
172 # -- Create/use Persistent Volume Claim for server component. Use empty dir if set to false
174 # -- Override Persistent Volume Claim name
176 # -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
179 # -- VolumeClassAttribute to user for persistent volume
180 volumeAttributesClassName:
181 # -- Persistent volume annotations
183 # -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
185 # -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
187 # -- Bind Persistent Volume by labels. Must match all labels of targeted PV.
189 # -- PVC extra labels
191 # -- Mount path. Server data Persistent Volume mount root path.
195 # -- Size of the volume. Should be calculated based on the logs you send and retention policy you set.
197 # -- StatefulSet/Deployment additional labels
199 # -- StatefulSet/Deployment annotations
201 # -- Pod's additional labels
203 # -- Pod's annotations
205 # -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
215 # -- 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.
218 initialDelaySeconds: 5
222 # -- 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.
225 initialDelaySeconds: 30
229 # -- 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.
232 # failureThreshold: 30
234 # successThreshold: 1
236 # -- Security context to be added to server pods
239 allowPrivilegeEscalation: false
243 readOnlyRootFilesystem: true
244 # -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
251 # -- Enable deployment of ingress for server component
253 # -- Ingress annotations
255 # kubernetes.io/ingress.class: nginx
256 # kubernetes.io/tls-acme: 'true'
258 # -- Ingress extra labels
260 # -- Array of host objects
266 # -- Array of TLS objects
268 # - secretName: vmselect-ingress-tls
272 # -- Ingress controller class name
274 # -- Ingress path type
277 # -- Enable deployment of HTTPRoute for single component
279 # -- HTTPRoute annotations
281 # -- HTTPRoute extra labels
283 # -- HTTPGateway objects refs
285 # -- Array of hostnames
287 # -- Extra rules to prepend to route. This is useful when working with annotation based services.
289 # -- Filters for a default rule in HTTPRoute
291 # -- Matches for a default rule in HTTPRoute
295 value: '{{ dig "extraArgs" "http.pathPrefix" "/" .Values.server }}'
297 # -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
298 trafficDistribution: ""
299 # -- Service annotations
303 # -- Service ClusterIP
305 # -- Service external IPs. Details are [here]( https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
307 # -- Service load balancer IP
309 # -- Load balancer source range
310 loadBalancerSourceRanges: []
317 # -- Extra service ports
319 # -- Service external traffic policy. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
320 externalTrafficPolicy: ""
321 # -- Health check node port for a service. Check [here](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip) for details
322 healthCheckNodePort: ""
323 # -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
325 # -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
327 # -- VictoriaLogs mode: deployment, statefulSet
329 # -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables
333 # Must be "Recreate" when we have a persistent volume
335 # -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables
338 # -- Deploy order policy for StatefulSet pods
339 podManagementPolicy: OrderedReady
340 # -- StatefulSet update strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies) for details.
342 # type: RollingUpdate
343 # -- Pod's termination grace period in seconds
344 terminationGracePeriodSeconds: 60
346 # -- Enable deployment of Service Monitor for server component. This is Prometheus operator object
348 # -- Service Monitor labels
350 # -- Service Monitor annotations
352 # -- Service Monitor path
354 # -- Basic auth params for Service Monitor
356 # -- Commented. Params to use for scraping (supports helm templates)
360 # - '{{ .Values.server.extraArgs.metricsAuthKey }}'
361 # -- Commented. Prometheus scrape interval for server component
363 # -- Commented. Prometheus pre-scrape timeout for server component
365 # -- Commented. HTTP scheme to use for scraping.
367 # -- Commented. TLS configuration to use when scraping the endpoint
369 # insecureSkipVerify: true
370 # -- Service Monitor relabelings
372 # -- Service Monitor metricRelabelings
373 metricRelabelings: []
374 # -- Service Monitor port. Uses primary http item name by default
376 # -- Service Monitor target port. Overrides port when set
379 # -- Enable deployment of VMServiceScrape for server component. This is Victoria Metrics operator object
381 # VMServiceScrape labels
383 # VMServiceScrape annotations
385 # -- Commented. VMServiceScrape scrape interval for server component
387 # -- Commented. VMServiceScrape pre-scrape timeout for server component
389 # -- Commented. HTTP scheme to use for scraping.
391 # -- Commented. TLS configuration to use when scraping the endpoint
393 # insecureSkipVerify: true
395 metricRelabelings: []
396 # -- VMServiceScrape port. Uses primary http item name by default
398 # -- VMServiceScrape target port. Overrides port when set
402 # -- Enable deployment of vector
405 dataDir: /vector-data-dir
412 - name: prom-exporter
419 # -- Forces custom configuration creation in a given namespace even if vector.enabled is false
420 customConfigNamespace: ""
421 customConfigName: vector-vl-config
423 data_dir: /vector-data-dir
426 address: 0.0.0.0:8686
429 type: kubernetes_logs
431 type: internal_metrics
437 .log = parse_json(.message) ?? .message
441 type: prometheus_exporter
442 address: 0.0.0.0:9090
443 inputs: [internal_metrics]
454 VL-Time-Field: timestamp
455 VL-Stream-Fields: stream,kubernetes.pod_name,kubernetes.container_name,kubernetes.pod_namespace
456 VL-Msg-Field: message,msg,_msg,log.msg,log.message,log
459# -- Add extra specs dynamically to this chart
462 # -- Create VictoriaLogs dashboards
464 # -- Dashboard labels
466 # grafana_dashboard: "1"
467 # -- Dashboard annotations
469 # -- Override default namespace, where to create dashboards
476 dashboards: "grafana"
477 allowCrossNamespaceImport: false
478# -- Enterprise license key configuration for VictoriaLogs enterprise.
479# Required only for VictoriaLogs enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/#victorialogs-enterprise-features),
480# Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/)
484 # -- Use existing secret with license key
486 # -- Existing secret name
488 # -- Key in secret with license key