DirectorySecurity AdvisoriesPricing
Sign in
Directory
victoria-logs-single logoHELM

victoria-logs-single

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart tags
Default values
Chart metadata
Images

Tag:
Compare:

1
# Default values for victoria-logs.
2
# This is a YAML-formatted file.
3
# Declare variables to be passed into your templates.
4
global:
5
# -- Image pull secrets, that can be shared across multiple helm charts
6
imagePullSecrets: []
7
image:
8
# -- Image registry, that can be shared across multiple helm charts
9
registry: ""
10
# -- Openshift security context compatibility configuration
11
compatibility:
12
openshift:
13
adaptSecurityContext: "auto"
14
cluster:
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
18
extraLabels: {}
19
# -- Annotations added to all resources
20
extraAnnotations: {}
21
# -- Override chart name
22
nameOverride: ""
23
# -- Print chart notes
24
printNotes: true
25
serviceAccount:
26
# -- Create service account.
27
create: false
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
30
name:
31
# -- ServiceAccount labels
32
extraLabels: {}
33
# -- ServiceAccount annotations
34
annotations: {}
35
# -- Mount API token to pod directly
36
automountToken: true
37
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
38
podDisruptionBudget:
39
enabled: false
40
# -- min number or percentage of pods that can be unavailable
41
minAvailable: 0
42
# -- max number or percentage of pods that can be unavailable
43
maxUnavailable: 0
44
# -- Defines criteria when unhealthy pods should be considered for eviction
45
unhealthyPodEvictionPolicy:
46
# -- PodDisruptionBudget extra labels
47
extraLabels: {}
48
server:
49
# -- Enable deployment of server component. Deployed as StatefulSet
50
enabled: true
51
image:
52
# -- Image registry
53
registry: chainreg.biz
54
# -- Image repository
55
repository: chainguard-private/victorialogs
56
# -- Image tag
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
59
variant: ""
60
# -- Image pull policy
61
pullPolicy: IfNotPresent
62
# -- Image pull secrets
63
imagePullSecrets: []
64
# -- Override default container command. Use when the VictoriaLogs binary is available at a custom path
65
command: []
66
# -- Replica count
67
replicaCount: 1
68
# -- Name of Priority Class
69
priorityClassName: ""
70
# -- Name of the [RuntimeClass](https://kubernetes.io/docs/concepts/containers/runtime-class/) used to run the pod, e.g. "gvisor"
71
runtimeClassName: ""
72
# -- Overrides the full name of server component
73
fullnameOverride: ""
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)
75
retentionPeriod: 1
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
81
http:
82
- name: http
83
primary: true
84
value: :9428
85
tls: false
86
tlsCertFile: ""
87
tlsKeyFile: ""
88
tlsMinVersion: ""
89
tlsAutocertHosts: ""
90
tlsAutocertEmail: ""
91
tlsAutocertCacheDir: ""
92
mtls: false
93
mtlsCAFile: ""
94
# -- List of Syslog listen addresses
95
syslog:
96
udp: []
97
tcp: []
98
# - name: syslog-tcp
99
# value: :514
100
# tls: false
101
# tlsCertFile: ""
102
# tlsKeyFile: ""
103
# tlsMinVersion: ""
104
# streamFields: ""
105
# ignoreFields: ""
106
# decolorizeFields: ""
107
# extraFields: ""
108
# tenantID: ""
109
# compressMethod: ""
110
# useLocalTimestamp: false
111
# useRemoteIP: false
112
# -- Extra command line arguments for container of component
113
extraArgs:
114
envflag.enable: true
115
envflag.prefix: VM_
116
loggerFormat: json
117
http.shutdownDelay: 15s
118
# -- Specify pod lifecycle
119
lifecycle: {}
120
# -- Additional hostPath mounts
121
extraHostPathMounts: []
122
#- name: certs-dir
123
# mountPath: /etc/kubernetes/certs
124
# subPath: ""
125
# hostPath: /etc/kubernetes/certs
126
# readOnly: true
127
128
# -- Extra Volumes for the pod
129
extraVolumes: []
130
#- name: example
131
# configMap:
132
# name: example
133
134
# -- Extra Volume Mounts for the container
135
extraVolumeMounts: []
136
# - name: example
137
# mountPath: /example
138
139
# -- Extra containers to run in a pod with Victoria Logs container
140
extraContainers: []
141
#- name: config-reloader
142
# image: reloader-image
143
144
# -- Init containers for Victoria Logs Pod
145
initContainers: []
146
# -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
147
tolerations: []
148
# - key: "key"
149
# operator: "Equal|Exists"
150
# value: "value"
151
# effect: "NoSchedule|PreferNoSchedule"
152
153
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
154
nodeSelector: {}
155
# -- Pod topologySpreadConstraints
156
topologySpreadConstraints: []
157
# -- Pod affinity
158
affinity: {}
159
# -- Additional environment variables (ex.: secret tokens, flags). Details are [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables)
160
env: []
161
# -- Specify alternative source for env variables
162
envFrom: []
163
#- configMapRef:
164
# name: special-config
165
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/)
169
schedulerName: ""
170
emptyDir: {}
171
persistentVolume:
172
# -- Create/use Persistent Volume Claim for server component. Use empty dir if set to false
173
enabled: true
174
# -- Override Persistent Volume Claim name
175
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/)
177
accessModes:
178
- ReadWriteOnce
179
# -- VolumeClassAttribute to user for persistent volume
180
volumeAttributesClassName:
181
# -- Persistent volume annotations
182
annotations: {}
183
# -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
184
storageClassName: ""
185
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
186
existingClaim: ""
187
# -- Bind Persistent Volume by labels. Must match all labels of targeted PV.
188
matchLabels: {}
189
# -- PVC extra labels
190
extraLabels: {}
191
# -- Mount path. Server data Persistent Volume mount root path.
192
mountPath: /storage
193
# -- Mount subpath
194
subPath: ""
195
# -- Size of the volume. Should be calculated based on the logs you send and retention policy you set.
196
size: 10Gi
197
# -- StatefulSet/Deployment additional labels
198
extraLabels: {}
199
# -- StatefulSet/Deployment annotations
200
annotations: {}
201
# -- Pod's additional labels
202
podLabels: {}
203
# -- Pod's annotations
204
podAnnotations: {}
205
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
206
resources: {}
207
# limits:
208
# cpu: 500m
209
# memory: 512Mi
210
# requests:
211
# cpu: 500m
212
# memory: 512Mi
213
214
probe:
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.
216
readiness:
217
httpGet: {}
218
initialDelaySeconds: 5
219
periodSeconds: 5
220
timeoutSeconds: 5
221
failureThreshold: 3
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.
223
liveness:
224
tcpSocket: {}
225
initialDelaySeconds: 30
226
periodSeconds: 30
227
timeoutSeconds: 5
228
failureThreshold: 10
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.
230
startup: {}
231
# tcpSocket: {}
232
# failureThreshold: 30
233
# periodSeconds: 15
234
# successThreshold: 1
235
# timeoutSeconds: 5
236
# -- Security context to be added to server pods
237
securityContext:
238
enabled: true
239
allowPrivilegeEscalation: false
240
capabilities:
241
drop:
242
- ALL
243
readOnlyRootFilesystem: true
244
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
245
podSecurityContext:
246
enabled: true
247
fsGroup: 2000
248
runAsNonRoot: true
249
runAsUser: 1000
250
ingress:
251
# -- Enable deployment of ingress for server component
252
enabled: false
253
# -- Ingress annotations
254
annotations:
255
# kubernetes.io/ingress.class: nginx
256
# kubernetes.io/tls-acme: 'true'
257
258
# -- Ingress extra labels
259
extraLabels: {}
260
# -- Array of host objects
261
hosts:
262
- name: vlogs.local
263
path:
264
- /
265
port: http
266
# -- Array of TLS objects
267
tls: []
268
# - secretName: vmselect-ingress-tls
269
# hosts:
270
# - vmselect.local
271
272
# -- Ingress controller class name
273
ingressClassName: ""
274
# -- Ingress path type
275
pathType: Prefix
276
route:
277
# -- Enable deployment of HTTPRoute for single component
278
enabled: false
279
# -- HTTPRoute annotations
280
annotations: {}
281
# -- HTTPRoute extra labels
282
extraLabels: {}
283
# -- HTTPGateway objects refs
284
parentRefs: []
285
# -- Array of hostnames
286
hostnames: []
287
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
288
extraRules: []
289
# -- Filters for a default rule in HTTPRoute
290
filters: []
291
# -- Matches for a default rule in HTTPRoute
292
matches:
293
- path:
294
type: PathPrefix
295
value: '{{ dig "extraArgs" "http.pathPrefix" "/" .Values.server }}'
296
service:
297
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
298
trafficDistribution: ""
299
# -- Service annotations
300
annotations: {}
301
# -- Service labels
302
labels: {}
303
# -- Service ClusterIP
304
clusterIP: None
305
# -- Service external IPs. Details are [here]( https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
306
externalIPs: []
307
# -- Service load balancer IP
308
loadBalancerIP: ""
309
# -- Load balancer source range
310
loadBalancerSourceRanges: []
311
# -- Service port
312
servicePort: ""
313
# -- Node port
314
# nodePort: 30000
315
# -- Service type
316
type: ClusterIP
317
# -- Extra service ports
318
extraPorts: []
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.
324
ipFamilyPolicy: ""
325
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
326
ipFamilies: []
327
# -- VictoriaLogs mode: deployment, statefulSet
328
mode: statefulSet
329
# -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables
330
deployment:
331
spec:
332
strategy:
333
# Must be "Recreate" when we have a persistent volume
334
type: Recreate
335
# -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables
336
statefulSet:
337
spec:
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.
341
updateStrategy: {}
342
# type: RollingUpdate
343
# -- Pod's termination grace period in seconds
344
terminationGracePeriodSeconds: 60
345
serviceMonitor:
346
# -- Enable deployment of Service Monitor for server component. This is Prometheus operator object
347
enabled: false
348
# -- Service Monitor labels
349
extraLabels: {}
350
# -- Service Monitor annotations
351
annotations: {}
352
# -- Service Monitor path
353
path: ""
354
# -- Basic auth params for Service Monitor
355
basicAuth: {}
356
# -- Commented. Params to use for scraping (supports helm templates)
357
358
# params:
359
# authKey:
360
# - '{{ .Values.server.extraArgs.metricsAuthKey }}'
361
# -- Commented. Prometheus scrape interval for server component
362
# interval: 15s
363
# -- Commented. Prometheus pre-scrape timeout for server component
364
# scrapeTimeout: 5s
365
# -- Commented. HTTP scheme to use for scraping.
366
# scheme: https
367
# -- Commented. TLS configuration to use when scraping the endpoint
368
# tlsConfig:
369
# insecureSkipVerify: true
370
# -- Service Monitor relabelings
371
relabelings: []
372
# -- Service Monitor metricRelabelings
373
metricRelabelings: []
374
# -- Service Monitor port. Uses primary http item name by default
375
port: ""
376
# -- Service Monitor target port. Overrides port when set
377
targetPort: ""
378
vmServiceScrape:
379
# -- Enable deployment of VMServiceScrape for server component. This is Victoria Metrics operator object
380
enabled: false
381
# VMServiceScrape labels
382
extraLabels: {}
383
# VMServiceScrape annotations
384
annotations: {}
385
# -- Commented. VMServiceScrape scrape interval for server component
386
# interval: 15s
387
# -- Commented. VMServiceScrape pre-scrape timeout for server component
388
# scrapeTimeout: 5s
389
# -- Commented. HTTP scheme to use for scraping.
390
# scheme: https
391
# -- Commented. TLS configuration to use when scraping the endpoint
392
# tlsConfig:
393
# insecureSkipVerify: true
394
relabelings: []
395
metricRelabelings: []
396
# -- VMServiceScrape port. Uses primary http item name by default
397
port: ""
398
# -- VMServiceScrape target port. Overrides port when set
399
targetPort: ""
400
# @ignored
401
vector:
402
# -- Enable deployment of vector
403
enabled: false
404
role: Agent
405
dataDir: /vector-data-dir
406
resources: {}
407
args:
408
- -w
409
- --config-dir
410
- /etc/vector/
411
containerPorts:
412
- name: prom-exporter
413
containerPort: 9090
414
protocol: TCP
415
service:
416
enabled: false
417
existingConfigMaps:
418
- vector-vl-config
419
# -- Forces custom configuration creation in a given namespace even if vector.enabled is false
420
customConfigNamespace: ""
421
customConfigName: vector-vl-config
422
customConfig:
423
data_dir: /vector-data-dir
424
api:
425
enabled: false
426
address: 0.0.0.0:8686
427
sources:
428
k8s:
429
type: kubernetes_logs
430
internal_metrics:
431
type: internal_metrics
432
transforms:
433
parser:
434
type: remap
435
inputs: [k8s]
436
source: |
437
.log = parse_json(.message) ?? .message
438
del(.message)
439
sinks:
440
exporter:
441
type: prometheus_exporter
442
address: 0.0.0.0:9090
443
inputs: [internal_metrics]
444
vlogs:
445
type: elasticsearch
446
inputs: [parser]
447
mode: bulk
448
api_version: v8
449
compression: gzip
450
healthcheck:
451
enabled: false
452
request:
453
headers:
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
457
AccountID: "0"
458
ProjectID: "0"
459
# -- Add extra specs dynamically to this chart
460
extraObjects: []
461
dashboards:
462
# -- Create VictoriaLogs dashboards
463
enabled: false
464
# -- Dashboard labels
465
labels: {}
466
# grafana_dashboard: "1"
467
# -- Dashboard annotations
468
annotations: {}
469
# -- Override default namespace, where to create dashboards
470
namespace: ""
471
grafanaOperator:
472
enabled: false
473
spec:
474
instanceSelector:
475
matchLabels:
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/)
481
license:
482
# -- License key
483
key: ""
484
# -- Use existing secret with license key
485
secret:
486
# -- Existing secret name
487
name: ""
488
# -- Key in secret with license key
489
key: ""
490

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.