DirectorySecurity AdvisoriesPricing
Sign in
Directory
victoria-metrics-single logoHELM

victoria-metrics-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 versions
Default values
Chart metadata
Images

Tag:
Compare:

1
# Default values for victoria-metrics.
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
# -- Automount OpenShift service signing CA into the pod
15
automountServiceSigningCA: "auto"
16
cluster:
17
# -- K8s cluster domain suffix, uses for building storage pods' FQDN. Details are [here](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/)
18
dnsDomain: cluster.local.
19
# -- Labels added to all resources
20
extraLabels: {}
21
# -- Annotations added to all resources
22
extraAnnotations: {}
23
rbac:
24
# -- Enables Role/RoleBinding creation
25
create: true
26
# -- If true and `rbac.enabled`, will deploy a Role/RoleBinding instead of a ClusterRole/ClusterRoleBinding
27
namespaced: false
28
# -- Role/RoleBinding labels
29
extraLabels: {}
30
# -- Role/RoleBinding annotations
31
annotations: {}
32
# -- Override chart name
33
nameOverride: ""
34
# -- Print chart notes
35
printNotes: true
36
serviceAccount:
37
# -- Create service account.
38
create: true
39
# -- The name of the service account to use.
40
# If not set and create is true, a name is generated using the fullname template
41
name:
42
# -- ServiceAccount labels
43
extraLabels: {}
44
# -- ServiceAccount annotations
45
annotations: {}
46
# -- Mount API token to pod directly
47
automountToken: true
48
# -- See `kubectl explain poddisruptionbudget.spec` for more. Details are [here](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)
49
podDisruptionBudget:
50
enabled: false
51
# -- min number or percentage of pods that can be unavailable
52
minAvailable: 0
53
# -- max number or percentage of pods that can be unavailable
54
maxUnavailable: 0
55
# -- Defines criteria when unhealthy pods should be considered for eviction
56
unhealthyPodEvictionPolicy:
57
labels: {}
58
# -- See `kubectl explain networkpolicy.spec` for more. Details are [here](https://kubernetes.io/docs/concepts/services-networking/network-policies/)
59
networkPolicy:
60
enabled: false
61
# -- Ingress rules
62
ingress: []
63
# -- Egress rules
64
egress: []
65
# -- Extra labels for NetworkPolicy
66
labels: {}
67
# -- Extra annotations for NetworkPolicy
68
annotations: {}
69
server:
70
# -- Enable deployment of server component. Deployed as StatefulSet
71
enabled: true
72
# -- Override default `app` label name
73
name:
74
image:
75
# -- Image registry
76
registry: cgr.dev
77
# -- Image repository
78
repository: chainguard-private/victoria-metrics
79
# -- Image tag
80
tag: 1.152.0@sha256:244e91d1c2d042a15da11abe81bd64148fde177ae0f06f431b633984a8f4e385
81
# Variant of the image tag to use.
82
# e.g. enterprise.
83
variant: ""
84
# -- Image pull policy
85
pullPolicy: IfNotPresent
86
# -- Override default container command. Use when the VictoriaMetrics binary is available at a custom path
87
command: []
88
# -- Image pull secrets
89
imagePullSecrets: []
90
# -- Specify pod lifecycle
91
lifecycle: {}
92
# -- Number of victoriametrics single replicas
93
replicaCount: 1
94
# -- Name of Priority Class
95
priorityClassName: ""
96
# -- Name of the [RuntimeClass](https://kubernetes.io/docs/concepts/containers/runtime-class/) used to run the pod, e.g. "gvisor"
97
runtimeClassName: ""
98
# -- Overrides the full name of server component
99
fullnameOverride:
100
# -- 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/victoriametrics/single-server-victoriametrics/#retention)
101
retentionPeriod: 1
102
# -- HTTP listen address configuration. See https://docs.victoriametrics.com/helm/victoria-metrics-single/#http-listen-address for details.
103
http:
104
- name: http
105
value: :8428
106
primary: true
107
tls: false
108
tlsCertFile: ""
109
tlsKeyFile: ""
110
tlsMinVersion: ""
111
tlsAutocertHosts: ""
112
tlsAutocertEmail: ""
113
tlsAutocertCacheDir: ""
114
mtls: false
115
mtlsCAFile: ""
116
# -- Extra command line arguments for container of component
117
extraArgs:
118
envflag.enable: true
119
envflag.prefix: VM_
120
loggerFormat: json
121
# Enable IPv6 support. Useful for running in IPv6-only Kubernetes clusters
122
# enableTCP6: true
123
# Additional hostPath mounts
124
extraHostPathMounts: []
125
#- name: certs-dir
126
# mountPath: /etc/kubernetes/certs
127
# subPath: ""
128
# hostPath: /etc/kubernetes/certs
129
# readOnly: true
130
131
# Extra Volumes for the pod
132
extraVolumes: []
133
#- name: example
134
# configMap:
135
# name: example
136
137
# -- Extra Volume Mounts for the container
138
extraVolumeMounts: []
139
# - name: example
140
# mountPath: /example
141
142
# -- Extra containers to run in a pod with VM single
143
extraContainers: []
144
#- name: config-reloader
145
# image: reloader-image
146
147
# -- Init containers for VM single pod
148
initContainers: []
149
# - name: vmrestore
150
# image: victoriametrics/vmrestore:latest
151
# volumeMounts:
152
# - mountPath: /storage
153
# name: vmstorage-volume
154
# - mountPath: /etc/vm/creds
155
# name: secret-remote-storage-keys
156
# readOnly: true
157
# args:
158
# - -storageDataPath=/storage
159
# - -src=s3://your_bucket/folder/latest
160
# - -credsFilePath=/etc/vm/creds/credentials
161
162
# -- Node tolerations for server scheduling to nodes with taints. Details are [here](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)
163
tolerations: []
164
# - key: "key"
165
# operator: "Equal|Exists"
166
# value: "value"
167
# effect: "NoSchedule|PreferNoSchedule"
168
169
# -- Custom DNS config for pod. Details are [here](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-config)
170
dnsConfig: {}
171
# -- Pod's node selector. Details are [here](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
172
nodeSelector: {}
173
# -- Pod affinity
174
affinity: {}
175
# -- Env variables
176
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables) for more details
177
env: []
178
# -- Specify alternative source for env variables
179
envFrom: []
180
#- configMapRef:
181
# name: special-config
182
183
# -- Container workdir
184
containerWorkingDir: ""
185
# -- Use an alternate scheduler, e.g. "stork". Check [here](https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/) for more details
186
schedulerName: ""
187
emptyDir: {}
188
persistentVolume:
189
# -- Create/use Persistent Volume Claim for server component. Empty dir if false
190
enabled: true
191
# -- Override Persistent Volume Claim name
192
name: ""
193
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Details are [here](https://kubernetes.io/docs/concepts/storage/persistent-volumes/)
194
accessModes:
195
- ReadWriteOnce
196
# -- VolumeClassAttribute to user for persistent volume
197
volumeAttributesClassName:
198
# -- Persistent volume annotations
199
annotations: {}
200
# PVC extra labels
201
extraLabels: {}
202
# -- StorageClass to use for persistent volume. Requires server.persistentVolume.enabled: true. If defined, PVC created automatically
203
storageClassName: ""
204
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
205
existingClaim: ""
206
# -- Bind Persistent Volume by labels. Must match all labels of targeted PV.
207
matchLabels: {}
208
# -- Mount path. Server data Persistent Volume mount root path.
209
mountPath: /storage
210
# -- Mount subpath
211
subPath: ""
212
# -- Size of the volume. Should be calculated based on the metrics you send and retention policy you set.
213
size: 16Gi
214
# -- Sts/Deploy additional labels
215
extraLabels: {}
216
# -- Pod's additional labels
217
podLabels: {}
218
# -- Pod's annotations
219
podAnnotations: {}
220
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
221
resources: {}
222
# limits:
223
# cpu: 500m
224
# memory: 512Mi
225
# requests:
226
# cpu: 500m
227
# memory: 512Mi
228
229
# -- Readiness & Liveness probes
230
probe:
231
# -- 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.
232
readiness:
233
httpGet: {}
234
initialDelaySeconds: 5
235
periodSeconds: 15
236
timeoutSeconds: 5
237
failureThreshold: 3
238
# -- 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.
239
liveness:
240
tcpSocket: {}
241
initialDelaySeconds: 30
242
periodSeconds: 30
243
timeoutSeconds: 5
244
failureThreshold: 10
245
# -- 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.
246
startup: {}
247
#failureThreshold: 30
248
#periodSeconds: 15
249
#successThreshold: 1
250
#timeoutSeconds: 5
251
# -- Security context to be added to server pods
252
securityContext:
253
enabled: true
254
# -- Pod's security context. Details are [here](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)
255
podSecurityContext:
256
enabled: true
257
ingress:
258
# -- Enable deployment of ingress for server component
259
enabled: false
260
# -- Ingress annotations
261
annotations: {}
262
# kubernetes.io/ingress.class: nginx
263
# kubernetes.io/tls-acme: 'true'
264
265
# -- Ingress extra labels
266
extraLabels: {}
267
# -- Array of host objects
268
hosts:
269
- name: vmsingle.local
270
path:
271
- /
272
port: http
273
# -- Array of TLS objects
274
tls: []
275
# - secretName: vmselect-ingress-tls
276
# hosts:
277
# - vmselect.local
278
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
279
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
280
# ingressClassName: nginx
281
pathType: Prefix
282
route:
283
# -- Enable deployment of HTTPRoute for single component
284
enabled: false
285
# -- HTTPRoute annotations
286
annotations: {}
287
# -- HTTPRoute extra labels
288
extraLabels: {}
289
# -- HTTPGateway objects refs
290
parentRefs: []
291
# -- Array of hostnames
292
hostnames: []
293
# -- Extra rules to prepend to route. This is useful when working with annotation based services.
294
extraRules: []
295
# -- Filters for a default rule in HTTPRoute
296
filters: []
297
# -- Matches for a default rule in HTTPRoute
298
matches:
299
- path:
300
type: PathPrefix
301
value: '{{ dig "extraArgs" "http.pathPrefix" "/" .Values.server }}'
302
vmbackupmanager:
303
# -- Enable automatic creation of backup via vmbackupmanager. vmbackupmanager is part of Enterprise packages
304
enabled: false
305
image:
306
# -- VMBackupManager image registry
307
registry: ""
308
# -- VMBackupManager image repository
309
repository: victoriametrics/vmbackupmanager
310
# -- VMBackupManager image tag
311
tag: ""
312
# Variant of the image tag to use.
313
# e.g. enterprise.
314
variant: ""
315
# -- Disable hourly backups
316
disableHourly: false
317
# -- Disable daily backups
318
disableDaily: false
319
# -- Disable weekly backups
320
disableWeekly: false
321
# -- Disable monthly backups
322
disableMonthly: false
323
# -- Backup destination at S3, GCS or local filesystem. Release name will be included to path!
324
destination: ""
325
# -- Backups' retention settings
326
retention:
327
# -- Keep last N hourly backups. 0 means delete all existing hourly backups. Specify -1 to turn off
328
keepLastHourly: 2
329
# -- Keep last N daily backups. 0 means delete all existing daily backups. Specify -1 to turn off
330
keepLastDaily: 2
331
# -- Keep last N weekly backups. 0 means delete all existing weekly backups. Specify -1 to turn off
332
keepLastWeekly: 2
333
# -- Keep last N monthly backups. 0 means delete all existing monthly backups. Specify -1 to turn off
334
keepLastMonthly: 2
335
# -- Extra command line arguments for container of component
336
extraArgs:
337
envflag.enable: true
338
envflag.prefix: VM_
339
loggerFormat: json
340
# Extra Volume Mounts for the container
341
extraVolumeMounts: []
342
# - name: example
343
# mountPath: /example
344
# -- Allows to enable restore options for pod.
345
# Read more [here](https://docs.victoriametrics.com/victoriametrics/vmbackupmanager/#restore-commands)
346
restore:
347
onStart:
348
enabled: false
349
# -- Resource object. Details are [here](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)
350
resources: {}
351
# -- Additional environment variables (ex.: secret tokens, flags). Check [here](https://docs.victoriametrics.com/victoriametrics/#environment-variables)
352
env: []
353
# -- Readiness & Liveness probes
354
probe:
355
# -- VMBackupManager readiness probe
356
readiness:
357
httpGet:
358
port: manager-http
359
initialDelaySeconds: 5
360
periodSeconds: 15
361
timeoutSeconds: 5
362
failureThreshold: 3
363
# -- VMBackupManager liveness probe
364
liveness:
365
tcpSocket:
366
port: manager-http
367
initialDelaySeconds: 30
368
periodSeconds: 30
369
timeoutSeconds: 5
370
failureThreshold: 10
371
# -- VMBackupManager startup probe
372
startup:
373
httpGet:
374
port: manager-http
375
service:
376
# -- Service traffic distribution. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution)
377
trafficDistribution: ""
378
# -- Service annotations
379
annotations: {}
380
# -- Service labels
381
labels: {}
382
# -- Service ClusterIP
383
clusterIP: "None"
384
# -- Service external IPs. Details are [here](https://kubernetes.io/docs/concepts/services-networking/service/#external-ips)
385
externalIPs: []
386
# -- Service load balancer IP
387
loadBalancerIP: ""
388
# -- Load balancer source range
389
loadBalancerSourceRanges: []
390
# -- Service port
391
servicePort: ""
392
# -- Node port
393
# nodePort: 30000
394
# -- Service type
395
type: ClusterIP
396
# -- 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
397
externalTrafficPolicy: ""
398
# -- 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
399
healthCheckNodePort: ""
400
# -- Service IP family policy. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
401
ipFamilyPolicy: ""
402
# -- List of service IP families. Check [here](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services) for details.
403
ipFamilies: []
404
# -- VictoriaMetrics mode: deployment, statefulSet
405
mode: statefulSet
406
# -- [K8s Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) specific variables
407
deployment:
408
spec:
409
strategy:
410
# Must be "Recreate" when we have a persistent volume
411
type: Recreate
412
# -- [K8s StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) specific variables
413
statefulSet:
414
spec:
415
# -- Deploy order policy for StatefulSet pods
416
podManagementPolicy: OrderedReady
417
# -- StatefulSet update strategy. Check [here](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies) for details.
418
updateStrategy: {}
419
# type: RollingUpdate
420
# -- Pod's termination grace period in seconds
421
terminationGracePeriodSeconds: 60
422
serviceMonitor:
423
# -- Enable deployment of Service Monitor for server component. This is Prometheus operator object
424
enabled: false
425
# -- Service Monitor labels
426
extraLabels: {}
427
# -- Service Monitor annotations
428
annotations: {}
429
# -- Service Monitor path
430
path: ""
431
# -- Basic auth params for Service Monitor
432
basicAuth: {}
433
# -- Commented. Prometheus scrape interval for server component
434
435
# interval: 15s
436
# -- Commented. Prometheus pre-scrape timeout for server component
437
# scrapeTimeout: 5s
438
# -- Commented. HTTP scheme to use for scraping.
439
# scheme: https
440
# -- Commented. TLS configuration to use when scraping the endpoint
441
# tlsConfig:
442
# insecureSkipVerify: true
443
# -- Service Monitor relabelings
444
relabelings: []
445
# -- Service Monitor metricRelabelings
446
metricRelabelings: []
447
# -- Service Monitor port. Uses primary http item name by default
448
port: ""
449
# -- Service Monitor target port. Overrides port when set
450
targetPort: ""
451
# -- Global relabel configuration
452
relabel:
453
enabled: false
454
config: []
455
# -- Use existing configmap if specified
456
# otherwise .config values will be used. Relabel config **should** reside under `relabel.yml` key
457
configMap: ""
458
# Scrape configuration for victoriametrics
459
scrape:
460
# -- If true scrapes targets, creates config map or use specified one with scrape targets
461
enabled: false
462
# -- Use existing configmap if specified
463
# otherwise .config values will be used. Scrape config **should** reside under `scrape.yml` key
464
configMap: ""
465
# -- Scrape config
466
config:
467
global:
468
scrape_interval: 15s
469
# Scrape targets
470
scrape_configs:
471
# Scrape rule for scrape victoriametrics
472
- job_name: victoriametrics
473
static_configs:
474
- targets: ["localhost:8428"]
475
# COPY from Prometheus helm chart https://github.com/helm/charts/blob/master/stable/prometheus/values.yaml
476
477
# Scrape config for API servers.
478
#
479
# Kubernetes exposes API servers as endpoints to the default/kubernetes
480
# service so this uses `endpoints` role and uses relabelling to only keep
481
# the endpoints associated with the default/kubernetes service using the
482
# default named port `https`. This works for single API server deployments as
483
# well as HA API server deployments.
484
- job_name: "kubernetes-apiservers"
485
kubernetes_sd_configs:
486
- role: endpoints
487
# Default to scraping over https. If required, just disable this or change to
488
# `http`.
489
scheme: https
490
# This TLS & bearer token file config is used to connect to the actual scrape
491
# endpoints for cluster components. This is separate to discovery auth
492
# configuration because discovery & scraping are two separate concerns in
493
# Prometheus. The discovery auth config is automatic if Prometheus runs inside
494
# the cluster. Otherwise, more config options have to be provided within the
495
# <kubernetes_sd_config>.
496
tls_config:
497
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
498
# If your node certificates are self-signed or use a different CA to the
499
# master CA, then you need to disable certificate verification. Note that
500
# certificate verification is an integral part of a secure infrastructure
501
# so this should only be disabled in a controlled environment. You can
502
# enable certificate verification by commenting the line below.
503
#
504
insecure_skip_verify: true
505
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
506
# Keep only the default/kubernetes service endpoints for the https port. This
507
# will add targets for each API server which Kubernetes adds an endpoint to
508
# the default/kubernetes service.
509
relabel_configs:
510
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
511
action: keep
512
regex: default;kubernetes;https
513
# Scrape rule using kubernetes service discovery for nodes
514
- job_name: "kubernetes-nodes"
515
# Default to scraping over https. If required, just disable this or change to
516
# `http`.
517
scheme: https
518
# This TLS & bearer token file config is used to connect to the actual scrape
519
# endpoints for cluster components. This is separate to discovery auth
520
# configuration because discovery & scraping are two separate concerns in
521
# Prometheus. The discovery auth config is automatic if Prometheus runs inside
522
# the cluster. Otherwise, more config options have to be provided within the
523
# <kubernetes_sd_config>.
524
tls_config:
525
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
526
# If your node certificates are self-signed or use a different CA to the
527
# master CA, then you need to disable certificate verification. Note that
528
# certificate verification is an integral part of a secure infrastructure
529
# so this should only be disabled in a controlled environment. You can
530
# enable certificate verification by commenting the line below.
531
#
532
insecure_skip_verify: true
533
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
534
kubernetes_sd_configs:
535
- role: node
536
relabel_configs:
537
- action: labelmap
538
regex: __meta_kubernetes_node_label_(.+)
539
# Scrape rule using kubernetes service discovery for cadvisor
540
- job_name: "kubernetes-nodes-cadvisor"
541
# Default to scraping over https. If required, just disable this or change to
542
# `http`.
543
scheme: https
544
# This TLS & bearer token file config is used to connect to the actual scrape
545
# endpoints for cluster components. This is separate to discovery auth
546
# configuration because discovery & scraping are two separate concerns in
547
# Prometheus. The discovery auth config is automatic if Prometheus runs inside
548
# the cluster. Otherwise, more config options have to be provided within the
549
# <kubernetes_sd_config>.
550
tls_config:
551
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
552
# If your node certificates are self-signed or use a different CA to the
553
# master CA, then you need to disable certificate verification. Note that
554
# certificate verification is an integral part of a secure infrastructure
555
# so this should only be disabled in a controlled environment. You can
556
# enable certificate verification by commenting the line below.
557
#
558
insecure_skip_verify: true
559
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
560
kubernetes_sd_configs:
561
- role: node
562
metrics_path: /metrics/cadvisor
563
relabel_configs:
564
- action: labelmap
565
regex: __meta_kubernetes_node_label_(.+)
566
- source_labels: [__metrics_path__]
567
target_label: metrics_path
568
# ignore timestamps of cadvisor's metrics by default
569
# more info here https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4697#issuecomment-1656540535
570
honor_timestamps: false
571
# Scrape config for service endpoints.
572
#
573
# The relabeling allows the actual service scrape endpoint to be configured
574
# via the following annotations:
575
#
576
# * `prometheus.io/scrape`: Only scrape services that have a value of `true`
577
# * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
578
# to set this to `https` & most likely set the `tls_config` of the scrape config.
579
# * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
580
# * `prometheus.io/port`: If the metrics are exposed on a different port to the
581
# service then set this appropriately.
582
#
583
# Scrape rule using kubernetes service discovery for endpoints
584
- job_name: "kubernetes-service-endpoints"
585
kubernetes_sd_configs:
586
- role: endpoints
587
relabel_configs:
588
- action: drop
589
source_labels: [__meta_kubernetes_pod_container_init]
590
regex: true
591
- action: keep_if_equal
592
source_labels: [__meta_kubernetes_service_annotation_prometheus_io_port, __meta_kubernetes_pod_container_port_number]
593
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
594
action: keep
595
regex: true
596
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
597
action: replace
598
target_label: __scheme__
599
regex: (https?)
600
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
601
action: replace
602
target_label: __metrics_path__
603
regex: (.+)
604
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
605
action: replace
606
target_label: __address__
607
regex: ([^:]+)(?::\d+)?;(\d+)
608
replacement: $1:$2
609
- action: labelmap
610
regex: __meta_kubernetes_service_label_(.+)
611
- source_labels: [__meta_kubernetes_namespace]
612
action: replace
613
target_label: namespace
614
- source_labels: [__meta_kubernetes_service_name]
615
action: replace
616
target_label: service
617
- source_labels: [__meta_kubernetes_pod_node_name]
618
action: replace
619
target_label: node
620
# Scrape config for slow service endpoints; same as above, but with a larger
621
# timeout and a larger interval
622
#
623
# The relabeling allows the actual service scrape endpoint to be configured
624
# via the following annotations:
625
#
626
# * `prometheus.io/scrape-slow`: Only scrape services that have a value of `true`
627
# * `prometheus.io/scheme`: If the metrics endpoint is secured then you will need
628
# to set this to `https` & most likely set the `tls_config` of the scrape config.
629
# * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
630
# * `prometheus.io/port`: If the metrics are exposed on a different port to the
631
# service then set this appropriately.
632
#
633
- job_name: "kubernetes-service-endpoints-slow"
634
scrape_interval: 5m
635
scrape_timeout: 30s
636
kubernetes_sd_configs:
637
- role: endpoints
638
relabel_configs:
639
- action: drop
640
source_labels: [__meta_kubernetes_pod_container_init]
641
regex: true
642
- action: keep_if_equal
643
source_labels: [__meta_kubernetes_service_annotation_prometheus_io_port, __meta_kubernetes_pod_container_port_number]
644
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape_slow]
645
action: keep
646
regex: true
647
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
648
action: replace
649
target_label: __scheme__
650
regex: (https?)
651
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
652
action: replace
653
target_label: __metrics_path__
654
regex: (.+)
655
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
656
action: replace
657
target_label: __address__
658
regex: ([^:]+)(?::\d+)?;(\d+)
659
replacement: $1:$2
660
- action: labelmap
661
regex: __meta_kubernetes_service_label_(.+)
662
- source_labels: [__meta_kubernetes_namespace]
663
action: replace
664
target_label: namespace
665
- source_labels: [__meta_kubernetes_service_name]
666
action: replace
667
target_label: service
668
- source_labels: [__meta_kubernetes_pod_node_name]
669
action: replace
670
target_label: node
671
# Example scrape config for probing services via the Blackbox Exporter.
672
#
673
# The relabeling allows the actual service scrape endpoint to be configured
674
# via the following annotations:
675
#
676
# * `prometheus.io/probe`: Only probe services that have a value of `true`
677
#
678
- job_name: "kubernetes-services"
679
metrics_path: /probe
680
params:
681
module: [http_2xx]
682
kubernetes_sd_configs:
683
- role: service
684
relabel_configs:
685
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe]
686
action: keep
687
regex: true
688
- source_labels: [__address__]
689
target_label: __param_target
690
- target_label: __address__
691
replacement: blackbox
692
- source_labels: [__param_target]
693
target_label: instance
694
- action: labelmap
695
regex: __meta_kubernetes_service_label_(.+)
696
- source_labels: [__meta_kubernetes_namespace]
697
target_label: namespace
698
- source_labels: [__meta_kubernetes_service_name]
699
target_label: service
700
# Example scrape config for pods
701
#
702
# The relabeling allows the actual pod scrape endpoint to be configured via the
703
# following annotations:
704
#
705
# * `prometheus.io/scrape`: Only scrape pods that have a value of `true`
706
# * `prometheus.io/path`: If the metrics path is not `/metrics` override this.
707
# * `prometheus.io/port`: Scrape the pod on the indicated port instead of the default of `9102`.
708
#
709
- job_name: "kubernetes-pods"
710
kubernetes_sd_configs:
711
- role: pod
712
relabel_configs:
713
- action: drop
714
source_labels: [__meta_kubernetes_pod_container_init]
715
regex: true
716
- action: keep_if_equal
717
source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port, __meta_kubernetes_pod_container_port_number]
718
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
719
action: keep
720
regex: true
721
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
722
action: replace
723
target_label: __metrics_path__
724
regex: (.+)
725
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
726
action: replace
727
regex: ([^:]+)(?::\d+)?;(\d+)
728
replacement: $1:$2
729
target_label: __address__
730
- action: labelmap
731
regex: __meta_kubernetes_pod_label_(.+)
732
- source_labels: [__meta_kubernetes_namespace]
733
action: replace
734
target_label: namespace
735
- source_labels: [__meta_kubernetes_pod_name]
736
action: replace
737
target_label: pod
738
# End of COPY
739
# -- Extra scrape configs that will be appended to `server.scrape.config`
740
extraScrapeConfigs: []
741
# - job_name: 'prometheus-blackbox-exporter'
742
# metrics_path: /probe
743
# params:
744
# module: [http_2xx]
745
# static_configs:
746
# - targets:
747
# - https://example.com
748
# relabel_configs:
749
# - source_labels: [__address__]
750
# target_label: __param_target
751
# - source_labels: [__param_target]
752
# target_label: instance
753
# - target_label: __address__
754
# replacement: prometheus-blackbox-exporter:9115
755
# -- Add extra specs dynamically to this chart
756
extraObjects: []
757
# -- Enterprise license key configuration for VictoriaMetrics enterprise.
758
# Required only for VictoriaMetrics enterprise. Check docs [here](https://docs.victoriametrics.com/victoriametrics/enterprise/),
759
# for more information, visit [site](https://victoriametrics.com/products/enterprise/).
760
# Request a trial license [here](https://victoriametrics.com/products/enterprise/trial/)
761
# Supported starting from VictoriaMetrics v1.94.0
762
license:
763
# -- License key
764
key: ""
765
# -- Use existing secret with license key
766
secret:
767
# -- Existing secret name
768
name: ""
769
# -- Key in secret with license key
770
key: ""
771

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.