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:

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

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.