DirectorySecurity AdvisoriesPricing
Sign in
Directory
prometheus-blackbox-exporter logoHELM

prometheus-blackbox-exporter

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
## Global image registry to use if it needs to be overridden for some specific use cases (e.g local registries, custom images, ...)
3
##
4
imageRegistry: ""
5
restartPolicy: Always
6
kind: Deployment
7
## Override the namespace
8
##
9
namespaceOverride: ""
10
# Override Kubernetes version if your distribution does not follow semver v2
11
kubeVersionOverride: ""
12
## set to true to add the release label so scraping of the servicemonitor with kube-prometheus-stack works out of the box
13
releaseLabel: false
14
podDisruptionBudget: {}
15
# maxUnavailable: 0
16
17
## Allow automount the serviceaccount token for sidecar container (eg: oauthproxy)
18
automountServiceAccountToken: false
19
## Additional blackbox-exporter container environment variables
20
extraEnv: []
21
# - name: GOMAXPROCS
22
# valueFrom:
23
# resourceFieldRef:
24
# resource: limits.cpu
25
# divisor: "1"
26
# - name: HTTP_PROXY
27
# value: "http://superproxy.com:3128"
28
29
## Additional blackbox-exporter container environment variables for secret or configMap
30
extraEnvFrom: []
31
# - configMapRef:
32
# name: configMapOne
33
# - secretRef:
34
# name: secretOne
35
# - secretRef:
36
# name: secretTwo
37
38
extraVolumes: []
39
# - name: secret-blackbox-oauth-htpasswd
40
# secret:
41
# defaultMode: 420
42
# secretName: blackbox-oauth-htpasswd
43
# - name: storage-volume
44
# persistentVolumeClaim:
45
# claimName: example
46
47
## Additional volumes that will be attached to the blackbox-exporter container
48
extraVolumeMounts:
49
# - name: ca-certs
50
# mountPath: /etc/ssl/certs/ca-certificates.crt
51
52
## Additional InitContainers to initialize the pod
53
## This supports either a structured array or a templatable string
54
extraInitContainers: []
55
## This supports either a structured array or a templatable string
56
57
# Array mode
58
extraContainers: []
59
# - name: oAuth2-proxy
60
# args:
61
# - -https-address=:9116
62
# - -upstream=http://localhost:9115
63
# - -skip-auth-regex=^/metrics
64
# - -openshift-delegate-urls={"/":{"group":"monitoring.coreos.com","resource":"prometheuses","verb":"get"}}
65
# image: openshift/oauth-proxy:v1.1.0
66
# ports:
67
# - containerPort: 9116
68
# name: proxy
69
# resources:
70
# limits:
71
# memory: 16Mi
72
# requests:
73
# memory: 4Mi
74
# cpu: 20m
75
# volumeMounts:
76
# - mountPath: /etc/prometheus/secrets/blackbox-tls
77
# name: secret-blackbox-tls
78
79
## Number of replicasets to retain ##
80
## default value is 10, 0 will not retain any replicasets and make rollbacks impossible ##
81
revisionHistoryLimit: 10
82
# String mode
83
# extraContainers: |-
84
# - name: oAuth2-proxy
85
# args:
86
# - -https-address=:9116
87
# - -upstream=http://localhost:9115
88
# - -skip-auth-regex=^/metrics
89
# - -openshift-delegate-urls={"/":{"group":"monitoring.coreos.com","resource":"prometheuses","verb":"get"}}
90
# image: {{ .Values.global.imageRegistry }}/openshift/oauth-proxy:v1.1.0
91
hostNetwork: false
92
strategy:
93
rollingUpdate:
94
maxSurge: 1
95
maxUnavailable: 0
96
type: RollingUpdate
97
image:
98
registry: cgr.dev
99
repository: chainguard-private/prometheus-blackbox-exporter
100
# Overrides the image tag whose default is {{ printf "v%s" .Chart.AppVersion }}
101
tag: 0.28.0
102
pullPolicy: IfNotPresent
103
digest: sha256:c73fbfea29b034b6cb19a05ee0b7391219e045304e40b82e895f1c6102440ef9
104
## Optionally specify an array of imagePullSecrets.
105
## Secrets must be manually created in the namespace.
106
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
107
##
108
# pullSecrets:
109
# - myRegistrKeySecretName
110
podSecurityContext: {}
111
# fsGroup: 1000
112
113
## User and Group to run blackbox-exporter container as
114
securityContext:
115
runAsUser: 1000
116
runAsGroup: 1000
117
readOnlyRootFilesystem: true
118
runAsNonRoot: true
119
allowPrivilegeEscalation: false
120
capabilities:
121
drop: ["ALL"]
122
# Add NET_RAW to enable ICMP
123
# add: ["NET_RAW"]
124
125
livenessProbe:
126
httpGet:
127
path: /-/healthy
128
port: http
129
failureThreshold: 3
130
readinessProbe:
131
httpGet:
132
path: /-/healthy
133
port: http
134
nodeSelector: {}
135
tolerations: []
136
affinity: {}
137
## Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in.
138
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
139
topologySpreadConstraints: []
140
# - maxSkew: 1
141
# topologyKey: failure-domain.beta.kubernetes.io/zone
142
# whenUnsatisfiable: DoNotSchedule
143
# labelSelector:
144
# matchLabels:
145
# app.kubernetes.io/instance: jiralert
146
147
# if the configuration is managed as secret outside the chart, using SealedSecret for example,
148
# provide the name of the secret here. If secretConfig is set to true, configExistingSecretName will be ignored
149
# in favor of the config value.
150
configExistingSecretName: ""
151
# Store the configuration as a `Secret` instead of a `ConfigMap`, useful in case it contains sensitive data
152
secretConfig: false
153
# NOTE: Binary payloads (!!binary) in module config are corrupted by Helm's toYaml.
154
# The contents of `config:` are passed through `toYaml` in the ConfigMap template,
155
# which round-trips the values through Helm's YAML parser and silently corrupts any
156
# byte >= 0x80. Use configExistingSecretName instead (see README.md).
157
config:
158
modules:
159
http_2xx:
160
prober: http
161
timeout: 5s
162
http:
163
valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
164
follow_redirects: true
165
preferred_ip_protocol: "ip4"
166
# Set custom config path, other than default /config/blackbox.yaml. If let empty, path will be "/config/blackbox.yaml"
167
# configPath: "/foo/bar"
168
extraConfigmapMounts: []
169
# - name: certs-configmap
170
# mountPath: /etc/secrets/ssl/
171
# subPath: certificates.crt # (optional)
172
# configMap: certs-configmap
173
# readOnly: true
174
# defaultMode: 420
175
176
## Additional secret mounts
177
# Defines additional mounts with secrets. Secrets must be manually created in the namespace.
178
extraSecretMounts: []
179
# - name: secret-files
180
# mountPath: /etc/secrets
181
# secretName: blackbox-secret-files
182
# readOnly: true
183
# defaultMode: 420
184
185
resources: {}
186
# limits:
187
# memory: 300Mi
188
# requests:
189
# memory: 50Mi
190
191
priorityClassName: ""
192
service:
193
annotations: {}
194
labels: {}
195
type: ClusterIP
196
port: 9115
197
ipDualStack:
198
enabled: false
199
ipFamilies: ["IPv6", "IPv4"]
200
ipFamilyPolicy: "PreferDualStack"
201
# Only changes container port. Application port can be changed with extraArgs (--web.listen-address=:9115)
202
# https://github.com/prometheus/blackbox_exporter/blob/998037b5b40c1de5fee348ffdea8820509d85171/main.go#L55
203
containerPort: 9115
204
# Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If zero, no port is exposed.
205
# This is useful for communicating with Daemon Pods when kind is DaemonSet.
206
hostPort: 0
207
serviceAccount:
208
# Specifies whether a ServiceAccount should be created
209
create: true
210
# The name of the ServiceAccount to use.
211
# If not set and create is true, a name is generated using the fullname template
212
name:
213
annotations: {}
214
## An Ingress resource can provide name-based virtual hosting and TLS
215
## termination among other things for CouchDB deployments which are accessed
216
## from outside the Kubernetes cluster.
217
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
218
ingress:
219
enabled: false
220
className: ""
221
labels: {}
222
annotations: {}
223
# kubernetes.io/tls-acme: "true"
224
hosts:
225
## The host property on hosts and tls is passed through helm tpl function.
226
## ref: https://helm.sh/docs/developing_charts/#using-the-tpl-function
227
- host: chart-example.local
228
paths:
229
- path: /
230
pathType: ImplementationSpecific
231
tls: []
232
# - secretName: chart-example-tls
233
# hosts:
234
# - chart-example.local
235
## A HTTPRoute (Gateway API) resource is an alternative to Ingress for routing
236
## external HTTP traffic to the blackbox exporter Service.
237
## ref: https://gateway-api.sigs.k8s.io/api-types/httproute/
238
route:
239
main:
240
## Enable this route
241
enabled: false
242
## ApiVersion set by default to "gateway.networking.k8s.io/v1"
243
apiVersion: ""
244
## kind set by default to HTTPRoute
245
kind: ""
246
## Optional name for the default rule in the rendered HTTPRoute.
247
name: ""
248
## Annotations to attach to the HTTPRoute resource
249
annotations: {}
250
## Labels to attach to the HTTPRoute resource
251
labels: {}
252
## ParentRefs refers to resources this HTTPRoute is to be attached to (Gateways)
253
parentRefs: []
254
# - name: contour
255
# sectionName: http
256
257
## Hostnames (templated) defines a set of hostnames that should match against the HTTP Host
258
## header to select a HTTPRoute used to process the request
259
hostnames: []
260
# - my.example.com
261
262
## additionalRules (templated) allows adding custom rules to the route
263
additionalRules: []
264
## Filters define the filters that are applied to requests that match
265
## this rule
266
filters: []
267
## Matches define conditions used for matching the rule against incoming
268
## HTTP requests
269
matches:
270
- path:
271
type: PathPrefix
272
value: /
273
## httpsRedirect adds a filter for redirecting to https (HTTP 301 Moved Permanently).
274
## To redirect HTTP traffic to HTTPS, you need to have a Gateway with both HTTP and HTTPS listeners.
275
## Matches and filters do not take effect if enabled.
276
## Ref. https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/
277
httpsRedirect: false
278
podAnnotations: {}
279
# Annotations for the Deployment
280
deploymentAnnotations: {}
281
# Annotations for the Secret
282
secretAnnotations: {}
283
# Hostaliases allow to add additional DNS entries to be injected directly into pods.
284
# This will take precedence over your implemented DNS solution
285
hostAliases: []
286
# - ip: 192.168.1.1
287
# hostNames:
288
# - test.example.com
289
# - another.example.net
290
291
pod:
292
labels: {}
293
extraArgs: []
294
# - --history.limit=1000
295
296
replicas: 1
297
serviceMonitor:
298
## ServiceMonitor CRD API version
299
##
300
apiVersion: monitoring.coreos.com/v1
301
## If true, a ServiceMonitor CRD is created for a prometheus operator
302
## https://github.com/coreos/prometheus-operator for blackbox-exporter itself
303
##
304
selfMonitor:
305
enabled: false
306
additionalMetricsRelabels: {}
307
additionalRelabeling: []
308
labels: {}
309
path: /metrics
310
scheme: http
311
tlsConfig: {}
312
interval: 30s
313
scrapeTimeout: 30s
314
## Port can be defined by assigning a value for the port key below
315
## port:
316
## If true, a ServiceMonitor CRD is created for a prometheus operator
317
## https://github.com/coreos/prometheus-operator for each target
318
##
319
enabled: false
320
# Default values that will be used for all ServiceMonitors created by `targets`
321
defaults:
322
additionalMetricsRelabels: {}
323
additionalRelabeling: []
324
labels: {}
325
interval: 30s
326
scrapeTimeout: 30s
327
honorTimestamps: true
328
module: http_2xx
329
## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
330
scheme: http
331
## path: HTTP path. Needs to be adjusted, if web.route-prefix is set
332
path: "/probe"
333
## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
334
## Of type: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig
335
tlsConfig: {}
336
bearerTokenFile:
337
targets:
338
# - name: example # Human readable URL that will appear in Prometheus / AlertManager
339
# url: http://example.com/healthz # The URL that blackbox will scrape
340
# hostname: example.com # HTTP probes can accept an additional `hostname` parameter that will set `Host` header and TLS SNI
341
# labels: {} # Map of labels for ServiceMonitor. Overrides value set in `defaults`
342
# interval: 60s # Scraping interval. Overrides value set in `defaults`
343
# scrapeTimeout: 60s # Scrape timeout. Overrides value set in `defaults`
344
# module: http_2xx # Module used for scraping. Overrides value set in `defaults`
345
# additionalMetricsRelabels: {} # Map of metric labels and values to add
346
# additionalRelabeling: [] # List of metric relabeling actions to run
347
348
## Custom PrometheusRules to be defined
349
## ref: https://github.com/coreos/prometheus-operator#customresourcedefinitions
350
prometheusRule:
351
enabled: false
352
additionalLabels: {}
353
namespace: ""
354
rules: []
355
podMonitoring:
356
## If true, a PodMonitoring CR is created for google managed prometheus
357
## https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-managed#gmp-pod-monitoring for blackbox-exporter itself
358
##
359
selfMonitor:
360
enabled: false
361
additionalMetricsRelabels: {}
362
labels: {}
363
path: /metrics
364
interval: 30s
365
scrapeTimeout: 30s
366
## If true, a PodMonitoring CR is created for a google managed prometheus
367
## https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-managed#gmp-pod-monitoring for each target
368
##
369
enabled: false
370
## Default values that will be used for all PodMonitoring created by `targets`
371
## Following PodMonitoring API specs https://github.com/GoogleCloudPlatform/prometheus-engine/blob/main/doc/api.md#scrapeendpoint
372
defaults:
373
additionalMetricsRelabels: {}
374
labels: {}
375
interval: 30s
376
scrapeTimeout: 30s
377
module: http_2xx
378
## scheme: Protocol scheme to use to scrape.
379
scheme: http
380
## path: HTTP path. Needs to be adjusted, if web.route-prefix is set
381
path: "/probe"
382
## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
383
## Of type: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig
384
tlsConfig: {}
385
targets:
386
# - name: example # Human readable URL that will appear in Google Managed Prometheus / AlertManager
387
# url: http://example.com/healthz # The URL that blackbox will scrape
388
# hostname: example.com # HTTP probes can accept an additional `hostname` parameter that will set `Host` header and TLS SNI
389
# labels: {} # Map of labels for PodMonitoring. Overrides value set in `defaults`
390
# interval: 60s # Scraping interval. Overrides value set in `defaults`
391
# scrapeTimeout: 60s # Scrape timeout. Overrides value set in `defaults`
392
# module: http_2xx # Module used for scraping. Overrides value set in `defaults`
393
# additionalMetricsRelabels: {} # Map of metric labels and values to add
394
395
## Network policy for chart
396
networkPolicy:
397
# Enable network policy and allow access from anywhere
398
enabled: false
399
# Limit access only from monitoring namespace
400
# Before setting this value to true, the monitoring namespace must exist. Kubernetes automatically sets the kubernetes.io/metadata.name label on all namespaces. The namespace name can be configured via monitoringNamespaceName
401
# Network Policy uses label filtering
402
allowMonitoringNamespace: false
403
# Rewrite monitoring namespace in network policy (default value monitoring)
404
monitoringNamespaceName: "monitoring"
405
## dnsPolicy and dnsConfig for Deployments and Daemonsets if you want non-default settings.
406
## These will be passed directly to the PodSpec of same.
407
dnsPolicy:
408
dnsConfig:
409
# Extra manifests to deploy as an array
410
extraManifests: []
411
# - apiVersion: v1
412
# kind: ConfigMap
413
# metadata:
414
# labels:
415
# name: prometheus-extra
416
# data:
417
# extra-data: "value"
418
419
# global common labels, applied to all resources
420
commonLabels: {}
421
# Enable vertical pod autoscaler support for prometheus-blackbox-exporter
422
verticalPodAutoscaler:
423
enabled: false
424
# Recommender responsible for generating recommendation for the object.
425
# List should be empty (then the default recommender will generate the recommendation)
426
# or contain exactly one recommender.
427
# recommenders:
428
# - name: custom-recommender-performance
429
430
# List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
431
controlledResources: []
432
# Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
433
# controlledValues: RequestsAndLimits
434
435
# Define the max allowed resources for the pod
436
maxAllowed: {}
437
# cpu: 200m
438
# memory: 100Mi
439
# Define the min allowed resources for the pod
440
minAllowed: {}
441
# cpu: 200m
442
# memory: 100Mi
443
444
updatePolicy:
445
# Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
446
# minReplicas: 1
447
# Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
448
# are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
449
updateMode: Auto
450
configReloader:
451
enabled: false
452
containerPort: 8080
453
config:
454
logFormat: logfmt
455
logLevel: info
456
watchInterval: 1m
457
image:
458
registry: cgr.dev
459
repository: chainguard-private/prometheus-config-reloader
460
tag: 0.93.1
461
pullPolicy: IfNotPresent
462
digest: sha256:26457760e47e87f9b91c0c38471acc09c59cd7b3e0317af72902d6bd4305ea47
463
securityContext:
464
runAsUser: 1000
465
runAsGroup: 1000
466
readOnlyRootFilesystem: true
467
runAsNonRoot: true
468
allowPrivilegeEscalation: false
469
capabilities:
470
drop: ["ALL"]
471
resources:
472
limits:
473
memory: 50Mi
474
requests:
475
cpu: 10m
476
memory: 20Mi
477
livenessProbe:
478
httpGet:
479
path: /healthz
480
port: reloader-web
481
scheme: HTTP
482
readinessProbe:
483
httpGet:
484
path: /healthz
485
port: reloader-web
486
scheme: HTTP
487
service:
488
port: 8080
489
serviceMonitor:
490
selfMonitor:
491
additionalMetricsRelabels: {}
492
additionalRelabeling: []
493
path: /metrics
494
scheme: http
495
tlsConfig: {}
496
interval: 30s
497
scrapeTimeout: 30s
498

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.