DirectorySecurity AdvisoriesPricing
Sign in
Directory
prometheus-pushgateway logoHELM

prometheus-pushgateway

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart tags
Default values
Chart metadata
Images

Tag:
Compare:

1
# Default values for prometheus-pushgateway.
2
# This is a YAML-formatted file.
3
# Declare variables to be passed into your templates.
4
5
global:
6
imageRegistry: ""
7
imagePullSecrets: []
8
# Provide a name in place of prometheus-pushgateway for `app:` labels
9
nameOverride: ""
10
# Provide a name to substitute for the full names of resources
11
fullnameOverride: ""
12
# Provide a namespace to substitute for the namespace on resources
13
namespaceOverride: ""
14
image:
15
registry: ""
16
repository: cgr.dev/chainguard-private/prometheus-pushgateway
17
# if not set appVersion field from Chart.yaml is used
18
tag: 1.11.4-r2@sha256:3ba459b3c6a0cba4807ee66fc051a34fef32b95ef6679f67ed2c014677ffc5f0
19
pullPolicy: IfNotPresent
20
# Optional pod imagePullSecrets
21
imagePullSecrets: []
22
service:
23
type: ClusterIP
24
port: 9091
25
targetPort: 9091
26
# nodePort: 32100
27
portName: http
28
# Optional - Set the Service port appProtocol, e.g. "http" for Istio protocol selection
29
# Ref: https://kubernetes.io/docs/concepts/services-networking/service/#application-protocol
30
appProtocol: ""
31
# Optional - Can be used for headless if value is "None"
32
clusterIP: ""
33
ipDualStack:
34
enabled: false
35
ipFamilies: ["IPv6", "IPv4"]
36
ipFamilyPolicy: "PreferDualStack"
37
loadBalancerIP: ""
38
loadBalancerSourceRanges: []
39
# Whether to automatically mount a service account token into the pod
40
automountServiceAccountToken: true
41
# Optional deployment annotations
42
deploymentAnnotations: {}
43
# Optional pod annotations
44
podAnnotations: {}
45
# Optional pod labels
46
podLabels: {}
47
# Optional service annotations
48
serviceAnnotations: {}
49
# Optional service labels
50
serviceLabels: {}
51
# Optional serviceAccount labels
52
serviceAccountLabels: {}
53
# Optional persistentVolume labels
54
persistentVolumeLabels: {}
55
# Optional additional environment variables
56
extraVars: []
57
## Additional pushgateway container arguments
58
##
59
## example:
60
## extraArgs:
61
## - --persistence.file=/data/pushgateway.data
62
## - --persistence.interval=5m
63
extraArgs: []
64
## Additional InitContainers to initialize the pod
65
##
66
extraInitContainers: []
67
# Optional additional containers (sidecar)
68
extraContainers: []
69
# - name: oAuth2-proxy
70
# args:
71
# - -https-address=:9092
72
# - -upstream=http://localhost:9091
73
# - -skip-auth-regex=^/metrics
74
# - -openshift-delegate-urls={"/":{"group":"monitoring.coreos.com","resource":"prometheuses","verb":"get"}}
75
# image: openshift/oauth-proxy:v1.1.0
76
# ports:
77
# - containerPort: 9092
78
# name: proxy
79
# resources:
80
# limits:
81
# memory: 16Mi
82
# requests:
83
# memory: 4Mi
84
# cpu: 20m
85
# volumeMounts:
86
# - mountPath: /etc/prometheus/secrets/pushgateway-tls
87
# name: secret-pushgateway-tls
88
89
resources: {}
90
# We usually recommend not to specify default resources and to leave this as a conscious
91
# choice for the user. This also increases chances charts run on environments with little
92
# resources, such as Minikube. If you do want to specify resources, uncomment the following
93
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
94
# limits:
95
# cpu: 200m
96
# memory: 50Mi
97
# requests:
98
# cpu: 100m
99
# memory: 30Mi
100
101
# -- Sets web configuration
102
# To enable basic authentication, provide basicAuthUsers as a map
103
# If serviceMonitor.enabled is set, a secret with these credentials will be created
104
# and configured in serviceMonitor. serviceMonitor.basicAuth overrides this secret.
105
webConfiguration: {}
106
# basicAuthUsers:
107
# username: password
108
#
109
# Alternatively, reference an existing Secret that already holds the web
110
# configuration (e.g. managed by Sealed Secrets, Vault, ...) so that no
111
# credentials are kept in plaintext here. The Secret must contain a key named
112
# web-config.yaml, the file name Pushgateway expects. When existingSecret is
113
# set the chart-managed web-config Secret is not rendered, and the liveness and
114
# readiness probes switch to a tcpSocket check, because the chart cannot read
115
# the credentials to authenticate HTTP probes.
116
# existingSecret:
117
# name: pushgateway-web-config
118
119
liveness:
120
enabled: true
121
probe:
122
httpGet:
123
path: /-/healthy
124
port: 9091
125
scheme: HTTP
126
initialDelaySeconds: 10
127
timeoutSeconds: 10
128
readiness:
129
enabled: true
130
probe:
131
httpGet:
132
path: /-/ready
133
port: 9091
134
scheme: HTTP
135
initialDelaySeconds: 10
136
timeoutSeconds: 10
137
serviceAccount:
138
# Specifies whether a ServiceAccount should be created
139
create: true
140
# The name of the ServiceAccount to use.
141
# If not set and create is true, a name is generated using the fullname template
142
name:
143
## Configure ingress resource that allow you to access the
144
## pushgateway installation. Set up the URL
145
## ref: http://kubernetes.io/docs/user-guide/ingress/
146
##
147
ingress:
148
## Enable Ingress.
149
##
150
enabled: false
151
# AWS ALB requires path of /*
152
className: ""
153
path: /
154
pathType: ImplementationSpecific
155
## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
156
extraPaths: []
157
# - path: /*
158
# backend:
159
# serviceName: ssl-redirect
160
# servicePort: use-annotation
161
## Annotations.
162
##
163
# annotations:
164
# kubernetes.io/ingress.class: nginx
165
# kubernetes.io/tls-acme: 'true'
166
167
## Hostnames.
168
## Must be provided if Ingress is enabled.
169
##
170
# hosts:
171
# - pushgateway.domain.com
172
173
## TLS configuration.
174
## Secrets must be manually created in the namespace.
175
##
176
# tls:
177
# - secretName: pushgateway-tls
178
# hosts:
179
# - pushgateway.domain.com
180
181
## route (map) allows configuration of HTTPRoute resources
182
## Requires Gateway API resources and suitable controller installed within the cluster
183
## Ref. https://gateway-api.sigs.k8s.io/guides/http-routing/
184
route:
185
main:
186
## Enable this route
187
enabled: false
188
## ApiVersion set by default to "gateway.networking.k8s.io/v1"
189
apiVersion: ""
190
## kind set by default to HTTPRoute
191
kind: ""
192
## Optional name for the default rule in the rendered HTTPRoute.
193
name: ""
194
## Annotations to attach to the HTTPRoute resource
195
annotations: {}
196
## Labels to attach to the HTTPRoute resource
197
labels: {}
198
## ParentRefs refers to resources this HTTPRoute is to be attached to (Gateways)
199
parentRefs: []
200
# - name: contour
201
# sectionName: http
202
203
## Hostnames (templated) defines a set of hostnames that should match against the HTTP Host
204
## header to select a HTTPRoute used to process the request
205
hostnames: []
206
# - my.example.com
207
208
## additionalRules (templated) allows adding custom rules to the route
209
additionalRules: []
210
## Filters define the filters that are applied to requests that match
211
## this rule
212
filters: []
213
## Matches define conditions used for matching the rule against incoming
214
## HTTP requests
215
matches:
216
- path:
217
type: PathPrefix
218
value: /
219
## SessionPersistence defines and configures session persistence for the rule,
220
## e.g. to keep a client on the same replica
221
## Ref. https://gateway-api.sigs.k8s.io/geps/gep-1619/
222
sessionPersistence: {}
223
# sessionName: pushgateway-session
224
# type: Cookie
225
# absoluteTimeout: 24h
226
# cookieConfig:
227
# lifetimeType: Permanent
228
229
## httpsRedirect adds a filter for redirecting to https (HTTP 301 Moved Permanently).
230
## To redirect HTTP traffic to HTTPS, you need to have a Gateway with both HTTP and HTTPS listeners.
231
## Matches, filters and session persistence do not take effect if enabled.
232
## Ref. https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/
233
httpsRedirect: false
234
tolerations: []
235
# - effect: NoSchedule
236
# operator: Exists
237
238
## Node labels for pushgateway pod assignment
239
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
240
##
241
nodeSelector: {}
242
replicaCount: 1
243
hostAliases: []
244
# - ip: "127.0.0.1"
245
# hostnames:
246
# - "foo.local"
247
# - "bar.local"
248
# - ip: "10.1.2.3"
249
# hostnames:
250
# - "foo.remote"
251
# - "bar.remote"
252
253
## When running more than one replica alongside with persistence, different volumes are needed
254
## per replica, since sharing a `persistence.file` across replicas does not keep metrics synced.
255
## For this purpose, you can enable the `runAsStatefulSet` to deploy the pushgateway as a
256
## StatefulSet instead of as a Deployment.
257
runAsStatefulSet: false
258
## Security context to be added to push-gateway pods
259
##
260
securityContext:
261
fsGroup: 65534
262
runAsUser: 65534
263
runAsNonRoot: true
264
## Security context to be added to push-gateway containers
265
## Having a separate variable as securityContext differs for pods and containers.
266
containerSecurityContext: {}
267
# allowPrivilegeEscalation: false
268
# readOnlyRootFilesystem: true
269
# runAsUser: 65534
270
# runAsNonRoot: true
271
272
## Affinity for pod assignment
273
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
274
affinity: {}
275
## Pod anti-affinity can prevent the scheduler from placing pushgateway replicas on the same node.
276
## The value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
277
## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
278
## The default value "" will disable pod anti-affinity so that no anti-affinity rules will be configured (unless set in `affinity`).
279
##
280
podAntiAffinity: ""
281
## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
282
## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
283
##
284
podAntiAffinityTopologyKey: kubernetes.io/hostname
285
## Topology spread constraints for pods
286
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
287
topologySpreadConstraints: []
288
# Enable this if you're using https://github.com/coreos/prometheus-operator
289
serviceMonitor:
290
enabled: false
291
namespace: monitoring
292
# telemetryPath: HTTP resource path from which to fetch metrics.
293
# Telemetry path, default /metrics, has to be prefixed accordingly if pushgateway sets a route prefix at start-up.
294
#
295
telemetryPath: "/metrics"
296
# Fallback to the prometheus default unless specified
297
interval: ""
298
## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
299
scheme: ""
300
## Basic authentication
301
basicAuth: {}
302
## Bearer token file
303
bearerTokenFile: ""
304
## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
305
## Of type: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig
306
tlsConfig: {}
307
# bearerTokenFile:
308
# Fallback to the prometheus default unless specified
309
scrapeTimeout: ""
310
## Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with
311
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
312
additionalLabels: {}
313
# Retain the job and instance labels of the metrics pushed to the Pushgateway
314
# [Scraping Pushgateway](https://github.com/prometheus/pushgateway#configure-the-pushgateway-as-a-target-to-scrape)
315
honorLabels: true
316
## Metric relabel configs to apply to samples before ingestion.
317
## [Metric Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs)
318
metricRelabelings: []
319
# - action: keep
320
# regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
321
# sourceLabels: [__name__]
322
323
## Relabel configs to apply to samples before ingestion.
324
## [Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)
325
relabelings: []
326
# - sourceLabels: [__meta_kubernetes_pod_node_name]
327
# separator: ;
328
# regex: ^(.*)$
329
# targetLabel: nodename
330
# replacement: $1
331
# action: replace
332
# The values to set in the PodDisruptionBudget spec (minAvailable/maxUnavailable)
333
# If not set then a PodDisruptionBudget will not be created
334
podDisruptionBudget: {}
335
priorityClassName:
336
# Deployment Strategy type
337
strategy:
338
type: Recreate
339
persistentVolume:
340
## If true, pushgateway will create/use a Persistent Volume Claim
341
## If false, use emptyDir
342
##
343
enabled: false
344
## pushgateway data Persistent Volume access modes
345
## Must match those of existing PV or dynamic provisioner
346
## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
347
##
348
accessModes:
349
- ReadWriteOnce
350
## pushgateway data Persistent Volume Claim annotations
351
##
352
annotations: {}
353
## pushgateway data Persistent Volume existing claim name
354
## Requires pushgateway.persistentVolume.enabled: true
355
## If defined, PVC must be created manually before volume will be bound
356
existingClaim: ""
357
## pushgateway data Persistent Volume mount root path
358
##
359
mountPath: /data
360
## pushgateway data Persistent Volume size
361
##
362
size: 2Gi
363
## pushgateway data Persistent Volume Storage Class
364
## If defined, storageClassName: <storageClass>
365
## If set to "-", storageClassName: "", which disables dynamic provisioning
366
## If undefined (the default) or set to null, no storageClassName spec is
367
## set, choosing the default provisioner. (gp2 on AWS, standard on
368
## GKE, AWS & OpenStack)
369
##
370
# storageClass: "-"
371
372
## Subdirectory of pushgateway data Persistent Volume to mount
373
## Useful if the volume's root directory is not empty
374
##
375
subPath: ""
376
## pushgateway data EmptyDir configuration,
377
## used when pushgateway.persistentVolume.enabled: false
378
##
379
emptyDir: {}
380
extraVolumes: []
381
# - name: extra
382
# emptyDir: {}
383
extraVolumeMounts: []
384
# - name: extra
385
# mountPath: /usr/share/extras
386
# readOnly: true
387
388
# Configuration for clusters with restrictive network policies in place:
389
# - allowAll allows access to the PushGateway from any namespace
390
# - customSelector is a list of pod/namespaceSelectors to allow access from
391
# These options are mutually exclusive and the latter will take precedence.
392
networkPolicy: {}
393
# allowAll: true
394
# customSelectors:
395
# - namespaceSelector:
396
# matchLabels:
397
# type: admin
398
# - podSelector:
399
# matchLabels:
400
# app: myapp
401
402
# Array of extra K8s objects to deploy (evaluated as a template)
403
# The value can hold an array of strings as well as objects
404
extraManifests: []
405
# Lifecycle hooks configuration
406
lifecycle: {}
407
# preStop:
408
# exec:
409
# command: ["/bin/sh", "-c", "sleep 30"]
410

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.