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 versions
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: scratch-images/test-tmp/victoriametrics-operator
35
# -- Image tag
36
# override Chart.AppVersion
37
tag: 0.74.1-r5@sha256:cab1a6b269db350ec647018dedd176a0c22c43deb6d51fd0062387a578329c77
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
rbac:
182
# -- Specifies whether the RBAC resources should be created
183
create: true
184
# -- Create aggregated clusterRoles for CRD readonly and admin permissions
185
aggregatedClusterRoles:
186
enabled: true
187
# -- Labels attached to according clusterRole
188
labels:
189
view:
190
rbac.authorization.k8s.io/aggregate-to-view: "true"
191
admin:
192
rbac.authorization.k8s.io/aggregate-to-admin: "true"
193
# -- Labels to be added to the all resources
194
extraLabels: {}
195
# -- extra Labels for Pods only
196
podLabels: {}
197
# -- Annotations to be added to the all resources
198
annotations: {}
199
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
200
podSecurityContext:
201
enabled: true
202
fsGroup: 2000
203
runAsNonRoot: true
204
runAsUser: 1000
205
# -- Security context to be added to server pods
206
securityContext:
207
enabled: true
208
allowPrivilegeEscalation: false
209
capabilities:
210
drop:
211
- ALL
212
readOnlyRootFilesystem: true
213
operator:
214
# -- By default, operator converts prometheus-operator objects.
215
disable_prometheus_converter: false
216
# -- Compare-options and sync-options for prometheus objects converted by operator for properly use with ArgoCD
217
prometheus_converter_add_argocd_ignore_annotations: false
218
# -- Enables ownership reference for converted prometheus-operator objects,
219
# it will remove corresponding victoria-metrics objects in case of deletion prometheus one.
220
enable_converter_ownership: false
221
# -- Enables OpenShift compatibility mode for the operator (supported since v0.73.0).
222
# When enabled, operator automatically adjusts security contexts and permissions for OpenShift clusters.
223
openshift_compatibility: false
224
# -- Enable VPA support
225
vpa_support: false
226
# -- Enable Gateway API support
227
gateway_support: false
228
# -- By default, the operator will watch all the namespaces
229
# If you want to override this behavior, specify the namespace.
230
# Operator supports multiple namespaces for watching.
231
watchNamespaces: []
232
serviceAccount:
233
# -- Specifies whether a service account should be created
234
create: true
235
# -- The name of the service account to use. If not set and create is true, a name is generated using the fullname template
236
name: ""
237
# -- Whether to automount the service account token. Note that token needs to be mounted manually if this is disabled.
238
automountServiceAccountToken: true
239
service:
240
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
241
trafficDistribution: ""
242
# -- Service annotations
243
annotations: {}
244
# -- Service labels
245
labels: {}
246
# -- Service ClusterIP
247
clusterIP: ""
248
# -- Service external IPs. Check [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips) for details
249
externalIPs: ""
250
# -- Service load balancer IP
251
loadBalancerIP: ""
252
# -- Load balancer source range
253
loadBalancerSourceRanges: []
254
# -- Service type
255
type: ClusterIP
256
# -- 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
257
healthCheckNodePort: ""
258
# -- 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
259
externalTrafficPolicy: ""
260
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
261
ipFamilyPolicy: ""
262
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
263
ipFamilies: []
264
# -- Service port
265
servicePort: 8080
266
# -- Service node port
267
nodePort: ""
268
# -- Service webhook port
269
webhookPort: 9443
270
# -- See `kubectl explain poddisruptionbudget.spec` for more or check [these docs](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
271
podDisruptionBudget:
272
enabled: false
273
# -- min number or percentage of pods that can be unavailable
274
minAvailable: 0
275
# -- max number or percentage of pods that can be unavailable
276
maxUnavailable: 0
277
# -- Defines criteria when unhealthy pods should be considered for eviction
278
unhealthyPodEvictionPolicy:
279
labels: {}
280
# -- Graceful pod termination timeout. See [this article](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#hook-handler-execution) for details.
281
terminationGracePeriodSeconds: 30
282
# -- Operator lifecycle. See [this article](https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) for details.
283
lifecycle: {}
284
# -- Resource object
285
resources: {}
286
# limits:
287
# cpu: 120m
288
# memory: 320Mi
289
# requests:
290
# cpu: 80m
291
# memory: 120Mi
292
293
# -- Custom DNS config for pod. Details are [here](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-config)
294
dnsConfig: {}
295
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
296
nodeSelector: {}
297
# -- Deployment strategy, set to standard k8s default
298
strategy:
299
type: RollingUpdate
300
rollingUpdate:
301
maxSurge: 25%
302
maxUnavailable: 25%
303
# -- Name of Priority Class
304
priorityClassName: ""
305
# -- Name of the [RuntimeClass](https://kubernetes.io/docs/concepts/containers/runtime-class/) used to run the pod, e.g. "gvisor"
306
runtimeClassName: ""
307
# -- Array of tolerations object. Spec is [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
308
tolerations: []
309
# -- Pod affinity
310
affinity: {}
311
# -- Pod Topology Spread Constraints. Spec is [here](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/)
312
topologySpreadConstraints: []
313
# -- Operator container additional commandline arguments
314
extraArgs: {}
315
# -- Extra settings for the operator deployment. Full list [here](https://docs.victoriametrics.com/operator/configuration/#environment-variables)
316
env: []
317
# - name: VM_VMSINGLEDEFAULT_VERSION
318
# value: v1.43.0
319
320
# -- Specify alternative source for env variables
321
envFrom: []
322
#- configMapRef:
323
# name: special-config
324
325
# -- Additional hostPath mounts
326
extraHostPathMounts: []
327
# - name: certs-dir
328
# mountPath: /etc/kubernetes/certs
329
# subPath: ""
330
# hostPath: /etc/kubernetes/certs
331
# readOnly: true
332
333
# -- Extra Volumes for the pod
334
extraVolumes: []
335
# - name: example
336
# configMap:
337
# name: example
338
339
# -- Extra Volume Mounts for the container
340
extraVolumeMounts: []
341
# - name: example
342
# mountPath: /example
343
344
# -- Extra containers to run in a pod with operator
345
extraContainers: []
346
# - name: config-reloader
347
# image: reloader-image
348
349
# -- Enable hostNetwork on operator deployment
350
hostNetwork: false
351
# -- DNS policy for operator pod. If not set and hostNetwork is enabled, defaults to ClusterFirstWithHostNet.
352
# @default -- ""
353
dnsPolicy: ""
354
# -- Enable sharing process Namespace between Containers in a Pod. This only makes sense with extraContainers
355
shareProcessNamespace: false
356
# -- Configures resource validation
357
admissionWebhooks:
358
# -- Enables validation webhook.
359
enabled: true
360
# -- Annotations for webhook. Can be used to define Helm or ArgoCD annotations.
361
annotations: {}
362
# -- List of CRD names to disable validation for
363
disabledFor: []
364
# - vmagent
365
# - vmsingle
366
367
# -- What to do in case, when operator not available to validate request.
368
policy: Fail
369
# -- 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
370
certManager:
371
# -- Enables cert creation and injection by cert-manager.
372
enabled: false
373
# --If needed, provide own issuer. Operator will create self-signed if empty.
374
issuer: {}
375
# -- Certificate Authority parameters
376
ca:
377
secretTemplate: {}
378
subject: {}
379
duration: 63800h0m0s
380
commonName: ca.validation.victoriametrics
381
# -- Certificate parameters
382
cert:
383
secretTemplate: {}
384
subject: {}
385
duration: 45800h0m0s
386
commonName: ""
387
keepTLSSecret: true
388
# tls specifies TLS cert/key for the webhook
389
tls:
390
caCert:
391
cert:
392
key:
393
# -- 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
394
serviceMonitor:
395
enabled: false
396
# -- 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`
397
vm: true
398
extraLabels: {}
399
annotations: {}
400
relabelings: []
401
scheme: ""
402
interval: ""
403
scrapeTimeout: ""
404
tlsConfig: {}
405
basicAuth: {}
406
probe:
407
# -- Readiness probe
408
readiness:
409
httpGet:
410
port: probe
411
initialDelaySeconds: 5
412
periodSeconds: 15
413
timeoutSeconds: 5
414
failureThreshold: 3
415
# -- Liveness probe
416
liveness:
417
tcpSocket:
418
port: probe
419
initialDelaySeconds: 5
420
periodSeconds: 15
421
timeoutSeconds: 5
422
failureThreshold: 3
423
# -- Startup probe
424
startup: {}
425
# -- Add extra specs dynamically to this chart
426
extraObjects: []
427

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.