blob: 85f267fdb8642bfd751d53928818ab1a3d1cc3cc [file] [log] [blame]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001# Default values for prometheus-pushgateway.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
4
5# Provide a name in place of prometheus-pushgateway for `app:` labels
6nameOverride: ""
7
8# Provide a name to substitute for the full names of resources
9fullnameOverride: ""
10
Mohammed Naser65cda132024-05-02 14:34:08 -040011# Provide a namespace to substitude for the namespace on resources
12namespaceOverride: ""
13
Mohammed Naser9ad0d462023-01-15 20:36:37 -050014image:
Mohammed Naser65cda132024-05-02 14:34:08 -040015 repository: quay.io/prometheus/pushgateway
16 # if not set appVersion field from Chart.yaml is used
17 tag: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -050018 pullPolicy: IfNotPresent
19
20# Optional pod imagePullSecrets
21imagePullSecrets: []
22
23service:
24 type: ClusterIP
25 port: 9091
26 targetPort: 9091
Mohammed Naser65cda132024-05-02 14:34:08 -040027 # nodePort: 32100
Mohammed Naser7d1623e2024-06-17 09:12:39 -040028 portName: http
Mohammed Naser9ad0d462023-01-15 20:36:37 -050029
30 # Optional - Can be used for headless if value is "None"
31 clusterIP: ""
32
Mohammed Naser65cda132024-05-02 14:34:08 -040033 ipDualStack:
34 enabled: false
35 ipFamilies: ["IPv6", "IPv4"]
36 ipFamilyPolicy: "PreferDualStack"
37
Mohammed Naser9ad0d462023-01-15 20:36:37 -050038 loadBalancerIP: ""
39 loadBalancerSourceRanges: []
40
Mohammed Naser65cda132024-05-02 14:34:08 -040041# Whether to automatically mount a service account token into the pod
42automountServiceAccountToken: true
43
Mohammed Naser9ad0d462023-01-15 20:36:37 -050044# Optional pod annotations
45podAnnotations: {}
46
47# Optional pod labels
48podLabels: {}
49
50# Optional service annotations
51serviceAnnotations: {}
52
53# Optional service labels
54serviceLabels: {}
55
56# Optional serviceAccount labels
57serviceAccountLabels: {}
58
59# Optional persistentVolume labels
60persistentVolumeLabels: {}
61
62# Optional additional environment variables
63extraVars: []
64
65## Additional pushgateway container arguments
66##
67## example:
68## extraArgs:
69## - --persistence.file=/data/pushgateway.data
70## - --persistence.interval=5m
71extraArgs: []
72
Mohammed Naser65cda132024-05-02 14:34:08 -040073## Additional InitContainers to initialize the pod
74##
75extraInitContainers: []
76
77# Optional additional containers (sidecar)
78extraContainers: []
79 # - name: oAuth2-proxy
80 # args:
81 # - -https-address=:9092
82 # - -upstream=http://localhost:9091
83 # - -skip-auth-regex=^/metrics
84 # - -openshift-delegate-urls={"/":{"group":"monitoring.coreos.com","resource":"prometheuses","verb":"get"}}
85 # image: openshift/oauth-proxy:v1.1.0
86 # ports:
87 # - containerPort: 9092
88 # name: proxy
89 # resources:
90 # limits:
91 # memory: 16Mi
92 # requests:
93 # memory: 4Mi
94 # cpu: 20m
95 # volumeMounts:
96 # - mountPath: /etc/prometheus/secrets/pushgateway-tls
97 # name: secret-pushgateway-tls
98
Mohammed Naser9ad0d462023-01-15 20:36:37 -050099resources: {}
100 # We usually recommend not to specify default resources and to leave this as a conscious
101 # choice for the user. This also increases chances charts run on environments with little
102 # resources, such as Minikube. If you do want to specify resources, uncomment the following
103 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
104 # limits:
105 # cpu: 200m
Mohammed Naser65cda132024-05-02 14:34:08 -0400106 # memory: 50Mi
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500107 # requests:
108 # cpu: 100m
109 # memory: 30Mi
110
Mohammed Naser65cda132024-05-02 14:34:08 -0400111# -- Sets web configuration
112# To enable basic authentication, provide basicAuthUsers as a map
113webConfiguration: {}
114 # basicAuthUsers:
115 # username: password
116
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500117liveness:
118 enabled: true
119 probe:
120 httpGet:
Mohammed Naser65cda132024-05-02 14:34:08 -0400121 path: /-/healthy
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500122 port: 9091
123 initialDelaySeconds: 10
124 timeoutSeconds: 10
125
126readiness:
127 enabled: true
128 probe:
129 httpGet:
130 path: /-/ready
131 port: 9091
132 initialDelaySeconds: 10
133 timeoutSeconds: 10
134
135serviceAccount:
136 # Specifies whether a ServiceAccount should be created
137 create: true
138 # The name of the ServiceAccount to use.
139 # If not set and create is true, a name is generated using the fullname template
140 name:
141
142## Configure ingress resource that allow you to access the
143## pushgateway installation. Set up the URL
144## ref: http://kubernetes.io/docs/user-guide/ingress/
145##
146ingress:
147 ## Enable Ingress.
148 ##
149 enabled: false
150 # AWS ALB requires path of /*
151 className: ""
152 path: /
153 pathType: ImplementationSpecific
154
Mohammed Naser65cda132024-05-02 14:34:08 -0400155 ## 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
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500161
Mohammed Naser65cda132024-05-02 14:34:08 -0400162 ## Annotations.
163 ##
164 # annotations:
165 # kubernetes.io/ingress.class: nginx
166 # kubernetes.io/tls-acme: 'true'
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500167
Mohammed Naser65cda132024-05-02 14:34:08 -0400168 ## Hostnames.
169 ## Must be provided if Ingress is enabled.
170 ##
171 # hosts:
172 # - pushgateway.domain.com
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500173
Mohammed Naser65cda132024-05-02 14:34:08 -0400174 ## TLS configuration.
175 ## Secrets must be manually created in the namespace.
176 ##
177 # tls:
178 # - secretName: pushgateway-tls
179 # hosts:
180 # - pushgateway.domain.com
181
182tolerations: []
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500183 # - effect: NoSchedule
184 # operator: Exists
185
186## Node labels for pushgateway pod assignment
187## Ref: https://kubernetes.io/docs/user-guide/node-selection/
188##
189nodeSelector: {}
190
191replicaCount: 1
192
Mohammed Naser65cda132024-05-02 14:34:08 -0400193hostAliases: []
194 # - ip: "127.0.0.1"
195 # hostnames:
196 # - "foo.local"
197 # - "bar.local"
198 # - ip: "10.1.2.3"
199 # hostnames:
200 # - "foo.remote"
201 # - "bar.remote"
202
203## When running more than one replica alongside with persistence, different volumes are needed
204## per replica, since sharing a `persistence.file` across replicas does not keep metrics synced.
205## For this purpose, you can enable the `runAsStatefulSet` to deploy the pushgateway as a
206## StatefulSet instead of as a Deployment.
207runAsStatefulSet: false
208
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500209## Security context to be added to push-gateway pods
210##
211securityContext:
212 fsGroup: 65534
213 runAsUser: 65534
214 runAsNonRoot: true
215
216## Security context to be added to push-gateway containers
217## Having a separate variable as securityContext differs for pods and containers.
218containerSecurityContext: {}
219# allowPrivilegeEscalation: false
220# readOnlyRootFilesystem: true
221# runAsUser: 65534
222# runAsNonRoot: true
223
224## Affinity for pod assignment
225## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
226affinity: {}
227
Mohammed Naser65cda132024-05-02 14:34:08 -0400228## Pod anti-affinity can prevent the scheduler from placing pushgateway replicas on the same node.
229## The value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
230## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
231## The default value "" will disable pod anti-affinity so that no anti-affinity rules will be configured (unless set in `affinity`).
232##
233podAntiAffinity: ""
234
235## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
236## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
237##
238podAntiAffinityTopologyKey: kubernetes.io/hostname
239
240## Topology spread constraints for pods
241## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
242topologySpreadConstraints: []
243
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500244# Enable this if you're using https://github.com/coreos/prometheus-operator
245serviceMonitor:
246 enabled: false
247 namespace: monitoring
248
Mohammed Naser65cda132024-05-02 14:34:08 -0400249 # telemetryPath: HTTP resource path from which to fetch metrics.
250 # Telemetry path, default /metrics, has to be prefixed accordingly if pushgateway sets a route prefix at start-up.
251 #
252 telemetryPath: "/metrics"
253
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500254 # Fallback to the prometheus default unless specified
255 # interval: 10s
256
Mohammed Naser65cda132024-05-02 14:34:08 -0400257 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
258 # scheme: ""
259
260 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
261 ## Of type: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#tlsconfig
262 # tlsConfig: {}
263
264 # bearerTokenFile:
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500265 # Fallback to the prometheus default unless specified
266 # scrapeTimeout: 30s
267
268 ## Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with
269 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
270 additionalLabels: {}
271
272 # Retain the job and instance labels of the metrics pushed to the Pushgateway
273 # [Scraping Pushgateway](https://github.com/prometheus/pushgateway#configure-the-pushgateway-as-a-target-to-scrape)
274 honorLabels: true
275
276 ## Metric relabel configs to apply to samples before ingestion.
277 ## [Metric Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs)
278 metricRelabelings: []
279 # - action: keep
280 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
281 # sourceLabels: [__name__]
282
283 ## Relabel configs to apply to samples before ingestion.
284 ## [Relabeling](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config)
285 relabelings: []
286 # - sourceLabels: [__meta_kubernetes_pod_node_name]
287 # separator: ;
288 # regex: ^(.*)$
289 # targetLabel: nodename
290 # replacement: $1
291 # action: replace
292
293# The values to set in the PodDisruptionBudget spec (minAvailable/maxUnavailable)
294# If not set then a PodDisruptionBudget will not be created
295podDisruptionBudget: {}
296
297priorityClassName:
298
299# Deployment Strategy type
300strategy:
301 type: Recreate
302
303persistentVolume:
304 ## If true, pushgateway will create/use a Persistent Volume Claim
305 ## If false, use emptyDir
306 ##
307 enabled: false
308
309 ## pushgateway data Persistent Volume access modes
310 ## Must match those of existing PV or dynamic provisioner
311 ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
312 ##
313 accessModes:
314 - ReadWriteOnce
315
316 ## pushgateway data Persistent Volume Claim annotations
317 ##
318 annotations: {}
319
320 ## pushgateway data Persistent Volume existing claim name
321 ## Requires pushgateway.persistentVolume.enabled: true
322 ## If defined, PVC must be created manually before volume will be bound
323 existingClaim: ""
324
325 ## pushgateway data Persistent Volume mount root path
326 ##
327 mountPath: /data
328
329 ## pushgateway data Persistent Volume size
330 ##
331 size: 2Gi
332
333 ## pushgateway data Persistent Volume Storage Class
334 ## If defined, storageClassName: <storageClass>
335 ## If set to "-", storageClassName: "", which disables dynamic provisioning
336 ## If undefined (the default) or set to null, no storageClassName spec is
337 ## set, choosing the default provisioner. (gp2 on AWS, standard on
338 ## GKE, AWS & OpenStack)
339 ##
340 # storageClass: "-"
341
342 ## Subdirectory of pushgateway data Persistent Volume to mount
343 ## Useful if the volume's root directory is not empty
344 ##
345 subPath: ""
346
Mohammed Naser65cda132024-05-02 14:34:08 -0400347extraVolumes: []
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500348 # - name: extra
349 # emptyDir: {}
Mohammed Naser65cda132024-05-02 14:34:08 -0400350extraVolumeMounts: []
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500351 # - name: extra
352 # mountPath: /usr/share/extras
353 # readOnly: true
354
355# Configuration for clusters with restrictive network policies in place:
356# - allowAll allows access to the PushGateway from any namespace
357# - customSelector is a list of pod/namespaceSelectors to allow access from
358# These options are mutually exclusive and the latter will take precedence.
359networkPolicy: {}
360 # allowAll: true
361 # customSelectors:
362 # - namespaceSelector:
363 # matchLabels:
364 # type: admin
365 # - podSelector:
366 # matchLabels:
367 # app: myapp
Mohammed Naser65cda132024-05-02 14:34:08 -0400368
369# Array of extra K8s objects to deploy (evaluated as a template)
370# The value can hold an array of strings as well as objects
371extraManifests: []