DirectorySecurity AdvisoriesPricing
Sign in
Directory
victoria-metrics-operator logoHELM

victoria-metrics-operator

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
global:
2
# -- Image pull secrets, that can be shared across multiple helm charts
3
imagePullSecrets: []
4
image:
5
# -- Image registry, that can be shared across multiple helm charts
6
registry: ""
7
# -- Openshift security context compatibility configuration
8
compatibility:
9
openshift:
10
adaptSecurityContext: "auto"
11
cluster:
12
# -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
13
dnsDomain: cluster.local.
14
# -- Labels added to all resources
15
extraLabels: {}
16
# -- Annotations added to all resources
17
extraAnnotations: {}
18
# -- Default component versions, populate VM_METRICS_VERSION/VM_LOGS_VERSION/VM_TRACES_VERSION/VM_ANOMALY_VERSION/VM_VMALERTMANAGER_ALERTMANAGERVERSION
19
# env vars unless already set via `env`, or an empty string to leave the operator's own built-in default in effect
20
versions:
21
metrics: ""
22
logs: ""
23
traces: ""
24
anomaly: ""
25
alertmanager: ""
26
# Default values for victoria-metrics.
27
# This is a YAML-formatted file.
28
# Declare variables to be passed into your templates.
29
# -- operator image configuration
30
image:
31
# -- Image registry
32
registry: cgr.dev
33
# -- Image repository
34
repository: chainguard-private/victoriametrics-operator
35
# -- Image tag
36
# override Chart.AppVersion
37
tag: 0.75.1-r0@sha256:8149b419fa860f310d02eb19808840680101ecbc6386921db9d8b7bc06531e79
38
# Variant of the image to use.
39
# e.g. scratch
40
variant: ""
41
# -- Image pull policy
42
pullPolicy: IfNotPresent
43
# -- Override default container command. Use when the VictoriaMetrics binary is available at a custom path
44
command: []
45
configReloader:
46
image: {}
47
# registry: ""
48
# repository: ""
49
# tag: ""
50
crds:
51
# -- manages CRD creation. Disables CRD creation only in combination with `crds.plain: false` due to helm dependency conditions limitation
52
enabled: true
53
# -- check if plain or templated CRDs should be created.
54
# with this option set to `false`, all CRDs will be rendered from templates.
55
# with this option set to `true`, all CRDs are immutable and require manual upgrade.
56
plain: false
57
# -- additional CRD annotations, when `.Values.crds.plain: false`
58
annotations: {}
59
cleanup:
60
# -- Tells helm to clean up all the vm resources under this release's namespace when uninstalling
61
enabled: false
62
# -- Image configuration for CRD cleanup Job
63
image:
64
repository: registry.k8s.io/kubectl
65
# use image tag that matches k8s API version by default
66
tag: ""
67
pullPolicy: IfNotPresent
68
# -- Cleanup hook resources
69
resources:
70
limits:
71
cpu: "500m"
72
memory: "256Mi"
73
requests:
74
cpu: "100m"
75
memory: "56Mi"
76
upgrade:
77
# -- Enables CRD upgrade job
78
enabled: false
79
# -- Adds `--force-conflics` argument to kubectl
80
forceConflicts: false
81
busybox:
82
image:
83
repository: busybox
84
tag: latest
85
pullPolicy: IfNotPresent
86
kubectl:
87
image:
88
repository: registry.k8s.io/kubectl
89
# use image tag that matches k8s API version by default
90
tag: ""
91
pullPolicy: IfNotPresent
92
# -- Extra settings for CRD upgrade job
93
env: []
94
# -- Upgrade job resources.
95
resources: {}
96
# limits:
97
# cpu: 120m
98
# memory: 320Mi
99
# requests:
100
# cpu: 80m
101
# memory: 120Mi
102
103
# -- Additional upgrade job volumes
104
extraVolumes: []
105
# -- Additional upgrade job volume mounts
106
extraVolumeMounts: []
107
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
108
nodeSelector: {}
109
# -- Upgrade job pod affinity
110
affinity: {}
111
# nodeAffinity:
112
# requiredDuringSchedulingIgnoredDuringExecution:
113
# nodeSelectorTerms:
114
# - matchExpressions:
115
# - key: kubernetes.io/e2e-az-name
116
# operator: In
117
# values:
118
# - e2e-az1
119
# - e2e-az2
120
121
# -- Array of upgrade job tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
122
tolerations: []
123
# - key: "key"
124
# operator: "Equal"
125
# value: "value"
126
# effect: "NoSchedule"
127
128
# -- Upgrade job Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/)
129
topologySpreadConstraints: []
130
# - maxSkew: 1
131
# topologyKey: topology.kubernetes.io/zone
132
# whenUnsatisfiable: DoNotSchedule
133
# labelSelector:
134
# matchLabels:
135
# app.kubernetes.io/component: alertmanager
136
137
# -- Labels to add to the upgrade job
138
labels: {}
139
# -- Annotations to add to the upgrade job
140
annotations: {}
141
# -- Labels to add to the upgrade job pod
142
podLabels: {}
143
# -- Annotations to add to the upgrade job pod
144
podAnnotations: {}
145
# -- Service account for upgrade CRD job to use.
146
serviceAccount:
147
create: true
148
name: ""
149
annotations: {}
150
labels: {}
151
automountServiceAccountToken: true
152
# -- Container-specific security context configuration. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
153
securityContext:
154
allowPrivilegeEscalation: false
155
readOnlyRootFilesystem: true
156
capabilities:
157
drop:
158
- ALL
159
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
160
podSecurityContext:
161
enabled: true
162
fsGroup: 65534
163
runAsGroup: 65534
164
runAsNonRoot: true
165
runAsUser: 65534
166
seccompProfile:
167
type: RuntimeDefault
168
# -- Number of operator replicas
169
replicaCount: 1
170
# -- Secret to pull images
171
imagePullSecrets: []
172
# -- Override chart name
173
nameOverride: ""
174
# -- Overrides the full name of server component resources
175
fullnameOverride: ""
176
# -- VM operator log level. Possible values: info and error.
177
logLevel: "info"
178
allowedMetricsEndpoints:
179
- /metrics
180
- /metrics/resources
181
- /metrics/slis
182
rbac:
183
# -- Specifies whether the RBAC resources should be created
184
create: true
185
# -- Create aggregated clusterRoles for CRD readonly and admin permissions
186
aggregatedClusterRoles:
187
enabled: true
188
# -- Labels attached to according clusterRole
189
labels:
190
view:
191
rbac.authorization.k8s.io/aggregate-to-view: "true"
192
admin:
193
rbac.authorization.k8s.io/aggregate-to-admin: "true"
194
# -- Labels to be added to the all resources
195
extraLabels: {}
196
# -- extra Labels for Pods only
197
podLabels: {}
198
# -- Annotations to be added to the all resources
199
annotations: {}
200
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
201
podSecurityContext:
202
enabled: true
203
fsGroup: 2000
204
runAsNonRoot: true
205
runAsUser: 1000
206
# -- Security context to be added to server pods
207
securityContext:
208
enabled: true
209
allowPrivilegeEscalation: false
210
capabilities:
211
drop:
212
- ALL
213
readOnlyRootFilesystem: true
214
operator:
215
# -- By default, operator converts prometheus-operator objects.
216
disable_prometheus_converter: false
217
# -- Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD
218
prometheus_converter_add_argocd_ignore_annotations: false
219
# -- Enables ownership reference for converted prometheus-operator objects,
220
# it will remove corresponding victoria-metrics objects in case of deletion prometheus one.
221
enable_converter_ownership: false
222
# -- Enables OpenShift compatibility mode for the operator (supported since v0.73.0).
223
# When enabled, operator automatically adjusts security contexts and permissions for OpenShift clusters.
224
openshift_compatibility: false
225
# -- Enable VPA support
226
vpa_support: false
227
# -- Enable Gateway API support
228
gateway_support: false
229
# -- By default, the operator will watch all the namespaces
230
# If you want to override this behavior, specify the namespace.
231
# Operator supports multiple namespaces for watching.
232
watchNamespaces: []
233
serviceAccount:
234
# -- Specifies whether a service account should be created
235
create: true
236
# -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template
237
name: ""
238
# -- Whether to automount the service account token. Note that token needs to be mounted manually if this is disabled.
239
automountServiceAccountToken: true
240
service:
241
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
242
trafficDistribution: ""
243
# -- Service annotations
244
annotations: {}
245
# -- Service labels
246
labels: {}
247
# -- Service ClusterIP
248
clusterIP: ""
249
# -- Service external IPs. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) for details
250
externalIPs: ""
251
# -- Service load balancer IP
252
loadBalancerIP: ""
253
# -- Load balancer source range
254
loadBalancerSourceRanges: []
255
# -- Service type
256
type: ClusterIP
257
# -- 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
258
healthCheckNodePort: ""
259
# -- 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
260
externalTrafficPolicy: ""
261
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
262
ipFamilyPolicy: ""
263
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
264
ipFamilies: []
265
# -- Service port
266
servicePort: 8080
267
# -- Service node port
268
nodePort: ""
269
# -- Service webhook port
270
webhookPort: 9443
271
# -- See `kubectl explain poddisruptionbudget.spec` for more or check [these docs](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
272
podDisruptionBudget:
273
enabled: false
274
# -- min number or percentage of pods that can be unavailable
275
minAvailable: 0
276
# -- max number or percentage of pods that can be unavailable
277
maxUnavailable: 0
278
# -- Defines criteria when unhealthy pods should be considered for eviction
279
unhealthyPodEvictionPolicy:
280
labels: {}
281
# -- Graceful pod termination timeout. See [this article](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution) for details.
282
terminationGracePeriodSeconds: 30
283
# -- Operator lifecycle. See [this article](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) for details.
284
lifecycle: {}
285
# -- Resource object
286
resources: {}
287
# limits:
288
# cpu: 120m
289
# memory: 320Mi
290
# requests:
291
# cpu: 80m
292
# memory: 120Mi
293
294
# -- Custom DNS config for pod. Details are [here](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-config)
295
dnsConfig: {}
296
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
297
nodeSelector: {}
298
# -- Deployment strategy, set to standard k8s default
299
strategy:
300
type: RollingUpdate
301
rollingUpdate:
302
maxSurge: 25%
303
maxUnavailable: 25%
304
# -- Name of Priority Class
305
priorityClassName: ""
306
# -- Name of the [RuntimeClass](https://kubernetes.io/docs/concepts/containers/runtime-class/) used to run the pod, e.g. "gvisor"
307
runtimeClassName: ""
308
# -- Array of tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
309
tolerations: []
310
# -- Pod affinity
311
affinity: {}
312
# -- Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/)
313
topologySpreadConstraints: []
314
# -- Operator container additional commandline arguments
315
extraArgs: {}
316
# -- Extra settings for the operator deployment. Full list [here](https://docs.victoriametrics.com/operator/configuration/#environment-variables)
317
env: []
318
# - name: VM_VMSINGLEDEFAULT_VERSION
319
# value: v1.43.0
320
321
# -- Specify alternative source for env variables
322
envFrom: []
323
#- configMapRef:
324
# name: special-config
325
326
# -- Additional hostPath mounts
327
extraHostPathMounts: []
328
# - name: certs-dir
329
# mountPath: /etc/kubernetes/certs
330
# subPath: ""
331
# hostPath: /etc/kubernetes/certs
332
# readOnly: true
333
334
# -- Extra Volumes for the pod
335
extraVolumes: []
336
# - name: example
337
# configMap:
338
# name: example
339
340
# -- Extra Volume Mounts for the container
341
extraVolumeMounts: []
342
# - name: example
343
# mountPath: /example
344
345
# -- Extra containers to run in a pod with operator
346
extraContainers: []
347
# - name: config-reloader
348
# image: reloader-image
349
350
# -- Enable hostNetwork on operator deployment
351
hostNetwork: false
352
# -- DNS policy for operator pod. If not set and hostNetwork is enabled, defaults to ClusterFirstWithHostNet.
353
# @default -- ""
354
dnsPolicy: ""
355
# -- Enable sharing process Namespace between Containers in a Pod. This only makes sense with extraContainers
356
shareProcessNamespace: false
357
# -- Configures resource validation
358
admissionWebhooks:
359
# -- Enables validation webhook.
360
enabled: true
361
# -- Annotations for webhook. Can be used to define Helm or ArgoCD annotations.
362
annotations: {}
363
# -- List of CRD names to disable validation for
364
disabledFor: []
365
# - vmagent
366
# - vmsingle
367
368
# -- What to do in case, when operator not available to validate request.
369
policy: Fail
370
# -- Enables custom ca bundle, if you are not using cert-manager. In case of custom ca, you have to create secret - {chart-name}-validation with keys: tls.key, tls.crt, ca.crt
371
certManager:
372
# -- Enables cert creation and injection by cert-manager.
373
enabled: false
374
# --If needed, provide own issuer. Operator will create self-signed if empty.
375
issuer: {}
376
# -- Certificate Authority parameters
377
ca:
378
secretTemplate: {}
379
subject: {}
380
duration: 63800h0m0s
381
commonName: ca.validation.victoriametrics
382
# -- Certificate parameters
383
cert:
384
secretTemplate: {}
385
subject: {}
386
duration: 45800h0m0s
387
commonName: ""
388
keepTLSSecret: true
389
# tls specifies TLS cert/key for the webhook
390
tls:
391
caCert:
392
cert:
393
key:
394
# -- Configures monitoring with serviceScrape using either `VMServiceScrape` or `ServiceMonitor`. For latter [Prometheus Operator CRDs](https://artifacthub.io/packages/helm/prometheus-community/prometheus-operator-crds) should be preinstalled
395
serviceMonitor:
396
enabled: false
397
# -- Creates `VMServiceScrape` if `true` and `ServiceMonitor` otherwise. Make sure [Prometheus Operator CRDs](https://artifacthub.io/packages/helm/prometheus-community/prometheus-operator-crds) are installed if it's set to `false`
398
vm: true
399
extraLabels: {}
400
annotations: {}
401
relabelings: []
402
scheme: ""
403
interval: ""
404
scrapeTimeout: ""
405
tlsConfig: {}
406
basicAuth: {}
407
probe:
408
# -- Readiness probe
409
readiness:
410
httpGet:
411
port: probe
412
initialDelaySeconds: 5
413
periodSeconds: 15
414
timeoutSeconds: 5
415
failureThreshold: 3
416
# -- Liveness probe
417
liveness:
418
tcpSocket:
419
port: probe
420
initialDelaySeconds: 5
421
periodSeconds: 15
422
timeoutSeconds: 5
423
failureThreshold: 3
424
# -- Startup probe
425
startup: {}
426
# -- Add extra specs dynamically to this chart
427
extraObjects: []
428

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.