blob: bf2094fc39e3f8787da7d498015c4312c1ca7098 [file] [log] [blame]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001# Default values for kube-prometheus-stack.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
4
5## Provide a name in place of kube-prometheus-stack for `app:` labels
6##
7nameOverride: ""
8
9## Override the deployment namespace
10##
11namespaceOverride: ""
12
Mohammed Naser91e2fa02024-02-23 01:46:39 -050013## Provide a k8s version to auto dashboard import script example: kubeTargetVersionOverride: 1.26.6
Mohammed Naser9ad0d462023-01-15 20:36:37 -050014##
15kubeTargetVersionOverride: ""
16
17## Allow kubeVersion to be overridden while creating the ingress
18##
19kubeVersionOverride: ""
20
21## Provide a name to substitute for the full names of resources
22##
23fullnameOverride: ""
24
25## Labels to apply to all resources
26##
27commonLabels: {}
28# scmhash: abc123
29# myLabel: aakkmd
30
Mohammed Naser5b49cbb2023-08-30 16:16:37 -040031## Install Prometheus Operator CRDs
32##
33crds:
34 enabled: true
35
Mohammed Naser91e2fa02024-02-23 01:46:39 -050036## custom Rules to override "for" and "severity" in defaultRules
37##
38customRules: {}
39 # AlertmanagerFailedReload:
40 # for: 3m
41 # AlertmanagerMembersInconsistent:
42 # for: 5m
43 # severity: "warning"
44
Mohammed Naser9ad0d462023-01-15 20:36:37 -050045## Create default rules for monitoring the cluster
46##
47defaultRules:
48 create: true
49 rules:
50 alertmanager: true
51 etcd: true
52 configReloaders: true
53 general: true
Mohammed Naser91e2fa02024-02-23 01:46:39 -050054 k8sContainerCpuUsageSecondsTotal: true
55 k8sContainerMemoryCache: true
56 k8sContainerMemoryRss: true
57 k8sContainerMemorySwap: true
58 k8sContainerResource: true
59 k8sContainerMemoryWorkingSetBytes: true
60 k8sPodOwner: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -050061 kubeApiserverAvailability: true
62 kubeApiserverBurnrate: true
63 kubeApiserverHistogram: true
64 kubeApiserverSlos: true
65 kubeControllerManager: true
66 kubelet: true
67 kubeProxy: true
68 kubePrometheusGeneral: true
69 kubePrometheusNodeRecording: true
70 kubernetesApps: true
71 kubernetesResources: true
72 kubernetesStorage: true
73 kubernetesSystem: true
74 kubeSchedulerAlerting: true
75 kubeSchedulerRecording: true
76 kubeStateMetrics: true
77 network: true
78 node: true
79 nodeExporterAlerting: true
80 nodeExporterRecording: true
81 prometheus: true
82 prometheusOperator: true
Mohammed Naser5b49cbb2023-08-30 16:16:37 -040083 windows: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -050084
85 ## Reduce app namespace alert scope
86 appNamespacesTarget: ".*"
87
Mohammed Naser91e2fa02024-02-23 01:46:39 -050088 ## Set keep_firing_for for all alerts
89 keepFiringFor: ""
90
Mohammed Naser9ad0d462023-01-15 20:36:37 -050091 ## Labels for default rules
92 labels: {}
93 ## Annotations for default rules
94 annotations: {}
95
96 ## Additional labels for PrometheusRule alerts
97 additionalRuleLabels: {}
98
99 ## Additional annotations for PrometheusRule alerts
100 additionalRuleAnnotations: {}
101
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400102 ## Additional labels for specific PrometheusRule alert groups
103 additionalRuleGroupLabels:
104 alertmanager: {}
105 etcd: {}
106 configReloaders: {}
107 general: {}
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500108 k8sContainerCpuUsageSecondsTotal: {}
109 k8sContainerMemoryCache: {}
110 k8sContainerMemoryRss: {}
111 k8sContainerMemorySwap: {}
112 k8sContainerResource: {}
113 k8sPodOwner: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400114 kubeApiserverAvailability: {}
115 kubeApiserverBurnrate: {}
116 kubeApiserverHistogram: {}
117 kubeApiserverSlos: {}
118 kubeControllerManager: {}
119 kubelet: {}
120 kubeProxy: {}
121 kubePrometheusGeneral: {}
122 kubePrometheusNodeRecording: {}
123 kubernetesApps: {}
124 kubernetesResources: {}
125 kubernetesStorage: {}
126 kubernetesSystem: {}
127 kubeSchedulerAlerting: {}
128 kubeSchedulerRecording: {}
129 kubeStateMetrics: {}
130 network: {}
131 node: {}
132 nodeExporterAlerting: {}
133 nodeExporterRecording: {}
134 prometheus: {}
135 prometheusOperator: {}
136
137 ## Additional annotations for specific PrometheusRule alerts groups
138 additionalRuleGroupAnnotations:
139 alertmanager: {}
140 etcd: {}
141 configReloaders: {}
142 general: {}
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500143 k8sContainerCpuUsageSecondsTotal: {}
144 k8sContainerMemoryCache: {}
145 k8sContainerMemoryRss: {}
146 k8sContainerMemorySwap: {}
147 k8sContainerResource: {}
148 k8sPodOwner: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400149 kubeApiserverAvailability: {}
150 kubeApiserverBurnrate: {}
151 kubeApiserverHistogram: {}
152 kubeApiserverSlos: {}
153 kubeControllerManager: {}
154 kubelet: {}
155 kubeProxy: {}
156 kubePrometheusGeneral: {}
157 kubePrometheusNodeRecording: {}
158 kubernetesApps: {}
159 kubernetesResources: {}
160 kubernetesStorage: {}
161 kubernetesSystem: {}
162 kubeSchedulerAlerting: {}
163 kubeSchedulerRecording: {}
164 kubeStateMetrics: {}
165 network: {}
166 node: {}
167 nodeExporterAlerting: {}
168 nodeExporterRecording: {}
169 prometheus: {}
170 prometheusOperator: {}
171
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500172 additionalAggregationLabels: []
173
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500174 ## Prefix for runbook URLs. Use this to override the first part of the runbookURLs that is common to all rules.
175 runbookUrl: "https://runbooks.prometheus-operator.dev/runbooks"
176
177 ## Disabled PrometheusRule alerts
178 disabled: {}
179 # KubeAPIDown: true
180 # NodeRAIDDegraded: true
181
182## Deprecated way to provide custom recording or alerting rules to be deployed into the cluster.
183##
184# additionalPrometheusRules: []
185# - name: my-rule-file
186# groups:
187# - name: my_group
188# rules:
189# - record: my_record
190# expr: 100 * my_record
191
192## Provide custom recording or alerting rules to be deployed into the cluster.
193##
194additionalPrometheusRulesMap: {}
195# rule-name:
196# groups:
197# - name: my_group
198# rules:
199# - record: my_record
200# expr: 100 * my_record
201
202##
203global:
204 rbac:
205 create: true
206
207 ## Create ClusterRoles that extend the existing view, edit and admin ClusterRoles to interact with prometheus-operator CRDs
208 ## Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
209 createAggregateClusterRoles: false
210 pspEnabled: false
211 pspAnnotations: {}
212 ## Specify pod annotations
213 ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#apparmor
214 ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#seccomp
215 ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#sysctl
216 ##
217 # seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
218 # seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
219 # apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
220
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400221 ## Global image registry to use if it needs to be overriden for some specific use cases (e.g local registries, custom images, ...)
222 ##
223 imageRegistry: ""
224
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500225 ## Reference to one or more secrets to be used when pulling images
226 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
227 ##
228 imagePullSecrets: []
229 # - name: "image-pull-secret"
230 # or
231 # - "image-pull-secret"
232
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400233windowsMonitoring:
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500234 ## Deploys the windows-exporter and Windows-specific dashboards and rules (job name must be 'windows-exporter')
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400235 enabled: false
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500236
237## Configuration for prometheus-windows-exporter
238## ref: https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-windows-exporter
239##
240prometheus-windows-exporter:
241 ## Enable ServiceMonitor and set Kubernetes label to use as a job label
242 ##
243 prometheus:
244 monitor:
245 enabled: true
246 jobLabel: jobLabel
247
248 releaseLabel: true
249
250 ## Set job label to 'windows-exporter' as required by the default Prometheus rules and Grafana dashboards
251 ##
252 podLabels:
253 jobLabel: windows-exporter
254
255 ## Enable memory and container metrics as required by the default Prometheus rules and Grafana dashboards
256 ##
257 config: |-
258 collectors:
259 enabled: '[defaults],memory,container'
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400260
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500261## Configuration for alertmanager
262## ref: https://prometheus.io/docs/alerting/alertmanager/
263##
264alertmanager:
265
266 ## Deploy alertmanager
267 ##
268 enabled: true
269
270 ## Annotations for Alertmanager
271 ##
272 annotations: {}
273
274 ## Api that prometheus will use to communicate with alertmanager. Possible values are v1, v2
275 ##
276 apiVersion: v2
277
Mohammed Naser7d1623e2024-06-17 09:12:39 -0400278 ## @param alertmanager.enableFeatures Enable access to Alertmanager disabled features.
279 ##
280 enableFeatures: []
281
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500282 ## Service account for Alertmanager to use.
283 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
284 ##
285 serviceAccount:
286 create: true
287 name: ""
288 annotations: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400289 automountServiceAccountToken: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500290
291 ## Configure pod disruption budgets for Alertmanager
292 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500293 ##
294 podDisruptionBudget:
295 enabled: false
296 minAvailable: 1
297 maxUnavailable: ""
298
299 ## Alertmanager configuration directives
300 ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file
301 ## https://prometheus.io/webtools/alerting/routing-tree-editor/
302 ##
303 config:
304 global:
305 resolve_timeout: 5m
306 inhibit_rules:
307 - source_matchers:
308 - 'severity = critical'
309 target_matchers:
310 - 'severity =~ warning|info'
311 equal:
312 - 'namespace'
313 - 'alertname'
314 - source_matchers:
315 - 'severity = warning'
316 target_matchers:
317 - 'severity = info'
318 equal:
319 - 'namespace'
320 - 'alertname'
321 - source_matchers:
322 - 'alertname = InfoInhibitor'
323 target_matchers:
324 - 'severity = info'
325 equal:
326 - 'namespace'
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500327 - target_matchers:
328 - 'alertname = InfoInhibitor'
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500329 route:
330 group_by: ['namespace']
331 group_wait: 30s
332 group_interval: 5m
333 repeat_interval: 12h
334 receiver: 'null'
335 routes:
336 - receiver: 'null'
337 matchers:
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500338 - alertname = "Watchdog"
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500339 receivers:
340 - name: 'null'
341 templates:
342 - '/etc/alertmanager/config/*.tmpl'
343
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400344 ## Alertmanager configuration directives (as string type, preferred over the config hash map)
345 ## stringConfig will be used only, if tplConfig is true
346 ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file
347 ## https://prometheus.io/webtools/alerting/routing-tree-editor/
348 ##
349 stringConfig: ""
350
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500351 ## Pass the Alertmanager configuration directives through Helm's templating
352 ## engine. If the Alertmanager configuration contains Alertmanager templates,
353 ## they'll need to be properly escaped so that they are not interpreted by
354 ## Helm
355 ## ref: https://helm.sh/docs/developing_charts/#using-the-tpl-function
356 ## https://prometheus.io/docs/alerting/configuration/#tmpl_string
357 ## https://prometheus.io/docs/alerting/notifications/
358 ## https://prometheus.io/docs/alerting/notification_examples/
359 tplConfig: false
360
361 ## Alertmanager template files to format alerts
362 ## By default, templateFiles are placed in /etc/alertmanager/config/ and if
363 ## they have a .tmpl file suffix will be loaded. See config.templates above
364 ## to change, add other suffixes. If adding other suffixes, be sure to update
365 ## config.templates above to include those suffixes.
366 ## ref: https://prometheus.io/docs/alerting/notifications/
367 ## https://prometheus.io/docs/alerting/notification_examples/
368 ##
369 templateFiles: {}
370 #
371 ## An example template:
372 # template_1.tmpl: |-
373 # {{ define "cluster" }}{{ .ExternalURL | reReplaceAll ".*alertmanager\\.(.*)" "$1" }}{{ end }}
374 #
375 # {{ define "slack.myorg.text" }}
376 # {{- $root := . -}}
377 # {{ range .Alerts }}
378 # *Alert:* {{ .Annotations.summary }} - `{{ .Labels.severity }}`
379 # *Cluster:* {{ template "cluster" $root }}
380 # *Description:* {{ .Annotations.description }}
381 # *Graph:* <{{ .GeneratorURL }}|:chart_with_upwards_trend:>
382 # *Runbook:* <{{ .Annotations.runbook }}|:spiral_note_pad:>
383 # *Details:*
384 # {{ range .Labels.SortedPairs }} - *{{ .Name }}:* `{{ .Value }}`
385 # {{ end }}
386 # {{ end }}
387 # {{ end }}
388
389 ingress:
390 enabled: false
391
392 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
393 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
394 # ingressClassName: nginx
395
396 annotations: {}
397
398 labels: {}
399
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400400 ## Override ingress to a different defined port on the service
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500401 # servicePort: 8081
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400402 ## Override ingress to a different service then the default, this is useful if you need to
403 ## point to a specific instance of the alertmanager (eg kube-prometheus-stack-alertmanager-0)
404 # serviceName: kube-prometheus-stack-alertmanager-0
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500405
406 ## Hosts must be provided if Ingress is enabled.
407 ##
408 hosts: []
409 # - alertmanager.domain.com
410
411 ## Paths to use for ingress rules - one path should match the alertmanagerSpec.routePrefix
412 ##
413 paths: []
414 # - /
415
416 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
417 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
418 # pathType: ImplementationSpecific
419
420 ## TLS configuration for Alertmanager Ingress
421 ## Secret must be manually created in the namespace
422 ##
423 tls: []
424 # - secretName: alertmanager-general-tls
425 # hosts:
426 # - alertmanager.example.com
427
428 ## Configuration for Alertmanager secret
429 ##
430 secret:
431 annotations: {}
432
433 ## Configuration for creating an Ingress that will map to each Alertmanager replica service
434 ## alertmanager.servicePerReplica must be enabled
435 ##
436 ingressPerReplica:
437 enabled: false
438
439 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
440 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
441 # ingressClassName: nginx
442
443 annotations: {}
444 labels: {}
445
446 ## Final form of the hostname for each per replica ingress is
447 ## {{ ingressPerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ ingressPerReplica.hostDomain }}
448 ##
449 ## Prefix for the per replica ingress that will have `-$replicaNumber`
450 ## appended to the end
451 hostPrefix: ""
452 ## Domain that will be used for the per replica ingress
453 hostDomain: ""
454
455 ## Paths to use for ingress rules
456 ##
457 paths: []
458 # - /
459
460 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
461 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
462 # pathType: ImplementationSpecific
463
464 ## Secret name containing the TLS certificate for alertmanager per replica ingress
465 ## Secret must be manually created in the namespace
466 tlsSecretName: ""
467
468 ## Separated secret for each per replica Ingress. Can be used together with cert-manager
469 ##
470 tlsSecretPerReplica:
471 enabled: false
472 ## Final form of the secret for each per replica ingress is
473 ## {{ tlsSecretPerReplica.prefix }}-{{ $replicaNumber }}
474 ##
475 prefix: "alertmanager"
476
477 ## Configuration for Alertmanager service
478 ##
479 service:
480 annotations: {}
481 labels: {}
482 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -0400483 ipDualStack:
484 enabled: false
485 ipFamilies: ["IPv6", "IPv4"]
486 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500487
488 ## Port for Alertmanager Service to listen on
489 ##
490 port: 9093
491 ## To be used with a proxy extraContainer port
492 ##
493 targetPort: 9093
494 ## Port to expose on each node
495 ## Only used if service.type is 'NodePort'
496 ##
497 nodePort: 30903
498 ## List of IP addresses at which the Prometheus server service is available
499 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
500 ##
501
502 ## Additional ports to open for Alertmanager service
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500503 ##
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500504 additionalPorts: []
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500505 # - name: oauth-proxy
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500506 # port: 8081
507 # targetPort: 8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500508 # - name: oauth-metrics
509 # port: 8082
510 # targetPort: 8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500511
512 externalIPs: []
513 loadBalancerIP: ""
514 loadBalancerSourceRanges: []
515
516 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
517 ##
518 externalTrafficPolicy: Cluster
519
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400520 ## If you want to make sure that connections from a particular client are passed to the same Pod each time
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500521 ## Accepts 'ClientIP' or 'None'
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400522 ##
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500523 sessionAffinity: None
524
525 ## If you want to modify the ClientIP sessionAffinity timeout
526 ## The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP"
527 ##
528 sessionAffinityConfig:
529 clientIP:
530 timeoutSeconds: 10800
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400531
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500532 ## Service type
533 ##
534 type: ClusterIP
535
536 ## Configuration for creating a separate Service for each statefulset Alertmanager replica
537 ##
538 servicePerReplica:
539 enabled: false
540 annotations: {}
541
542 ## Port for Alertmanager Service per replica to listen on
543 ##
544 port: 9093
545
546 ## To be used with a proxy extraContainer port
547 targetPort: 9093
548
549 ## Port to expose on each node
550 ## Only used if servicePerReplica.type is 'NodePort'
551 ##
552 nodePort: 30904
553
554 ## Loadbalancer source IP ranges
555 ## Only used if servicePerReplica.type is "LoadBalancer"
556 loadBalancerSourceRanges: []
557
558 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
559 ##
560 externalTrafficPolicy: Cluster
561
562 ## Service type
563 ##
564 type: ClusterIP
565
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300566 ## Configuration for creating a ServiceMonitor for AlertManager
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500567 ##
568 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300569 ## If true, a ServiceMonitor will be created for the AlertManager service.
570 ##
571 selfMonitor: true
572
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500573 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
574 ##
575 interval: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500576
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400577 ## Additional labels
578 ##
579 additionalLabels: {}
580
581 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
582 ##
583 sampleLimit: 0
584
585 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
586 ##
587 targetLimit: 0
588
589 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
590 ##
591 labelLimit: 0
592
593 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
594 ##
595 labelNameLengthLimit: 0
596
597 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
598 ##
599 labelValueLengthLimit: 0
600
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500601 ## proxyUrl: URL of a proxy that should be used for scraping.
602 ##
603 proxyUrl: ""
604
605 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
606 scheme: ""
607
608 ## enableHttp2: Whether to enable HTTP2.
609 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#endpoint
610 enableHttp2: true
611
612 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
613 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
614 tlsConfig: {}
615
616 bearerTokenFile:
617
618 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
619 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
620 ##
621 metricRelabelings: []
622 # - action: keep
623 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
624 # sourceLabels: [__name__]
625
626 ## RelabelConfigs to apply to samples before scraping
627 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
628 ##
629 relabelings: []
630 # - sourceLabels: [__meta_kubernetes_pod_node_name]
631 # separator: ;
632 # regex: ^(.*)$
633 # targetLabel: nodename
634 # replacement: $1
635 # action: replace
636
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500637 ## Additional Endpoints
638 ##
639 additionalEndpoints: []
640 # - port: oauth-metrics
641 # path: /metrics
642
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500643 ## Settings affecting alertmanagerSpec
644 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerspec
645 ##
646 alertmanagerSpec:
647 ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
648 ## Metadata Labels and Annotations gets propagated to the Alertmanager pods.
649 ##
650 podMetadata: {}
651
652 ## Image of Alertmanager
653 ##
654 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400655 registry: quay.io
656 repository: prometheus/alertmanager
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300657 tag: v0.27.0
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500658 sha: ""
659
660 ## If true then the user will be responsible to provide a secret with alertmanager configuration
661 ## So when true the config part will be ignored (including templateFiles) and the one in the secret will be used
662 ##
663 useExistingSecret: false
664
665 ## Secrets is a list of Secrets in the same namespace as the Alertmanager object, which shall be mounted into the
666 ## Alertmanager Pods. The Secrets are mounted into /etc/alertmanager/secrets/.
667 ##
668 secrets: []
669
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300670 ## If false then the user will opt out of automounting API credentials.
671 ##
672 automountServiceAccountToken: true
673
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500674 ## ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods.
675 ## The ConfigMaps are mounted into /etc/alertmanager/configmaps/.
676 ##
677 configMaps: []
678
679 ## ConfigSecret is the name of a Kubernetes Secret in the same namespace as the Alertmanager object, which contains configuration for
680 ## this Alertmanager instance. Defaults to 'alertmanager-' The secret is mounted into /etc/alertmanager/config.
681 ##
682 # configSecret:
683
684 ## WebTLSConfig defines the TLS parameters for HTTPS
685 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerwebspec
686 web: {}
687
688 ## AlertmanagerConfigs to be selected to merge and configure Alertmanager with.
689 ##
690 alertmanagerConfigSelector: {}
691 ## Example which selects all alertmanagerConfig resources
692 ## with label "alertconfig" with values any of "example-config" or "example-config-2"
693 # alertmanagerConfigSelector:
694 # matchExpressions:
695 # - key: alertconfig
696 # operator: In
697 # values:
698 # - example-config
699 # - example-config-2
700 #
701 ## Example which selects all alertmanagerConfig resources with label "role" set to "example-config"
702 # alertmanagerConfigSelector:
703 # matchLabels:
704 # role: example-config
705
706 ## Namespaces to be selected for AlertmanagerConfig discovery. If nil, only check own namespace.
707 ##
708 alertmanagerConfigNamespaceSelector: {}
709 ## Example which selects all namespaces
710 ## with label "alertmanagerconfig" with values any of "example-namespace" or "example-namespace-2"
711 # alertmanagerConfigNamespaceSelector:
712 # matchExpressions:
713 # - key: alertmanagerconfig
714 # operator: In
715 # values:
716 # - example-namespace
717 # - example-namespace-2
718
719 ## Example which selects all namespaces with label "alertmanagerconfig" set to "enabled"
720 # alertmanagerConfigNamespaceSelector:
721 # matchLabels:
722 # alertmanagerconfig: enabled
723
724 ## AlermanagerConfig to be used as top level configuration
725 ##
726 alertmanagerConfiguration: {}
727 ## Example with select a global alertmanagerconfig
728 # alertmanagerConfiguration:
729 # name: global-alertmanager-Configuration
730
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400731 ## Defines the strategy used by AlertmanagerConfig objects to match alerts. eg:
732 ##
733 alertmanagerConfigMatcherStrategy: {}
734 ## Example with use OnNamespace strategy
735 # alertmanagerConfigMatcherStrategy:
736 # type: OnNamespace
737
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500738 ## Define Log Format
739 # Use logfmt (default) or json logging
740 logFormat: logfmt
741
742 ## Log level for Alertmanager to be configured with.
743 ##
744 logLevel: info
745
746 ## Size is the expected size of the alertmanager cluster. The controller will eventually make the size of the
747 ## running cluster equal to the expected size.
748 replicas: 1
749
750 ## Time duration Alertmanager shall retain data for. Default is '120h', and must match the regular expression
751 ## [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours).
752 ##
753 retention: 120h
754
755 ## Storage is the definition of how storage will be used by the Alertmanager instances.
756 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
757 ##
758 storage: {}
759 # volumeClaimTemplate:
760 # spec:
761 # storageClassName: gluster
762 # accessModes: ["ReadWriteOnce"]
763 # resources:
764 # requests:
765 # storage: 50Gi
766 # selector: {}
767
768
769 ## The external URL the Alertmanager instances will be available under. This is necessary to generate correct URLs. This is necessary if Alertmanager is not served from root of a DNS name. string false
770 ##
771 externalUrl:
772
773 ## The route prefix Alertmanager registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true,
774 ## but the server serves requests under a different route prefix. For example for use with kubectl proxy.
775 ##
776 routePrefix: /
777
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400778 ## scheme: HTTP scheme to use. Can be used with `tlsConfig` for example if using istio mTLS.
779 scheme: ""
780
781 ## tlsConfig: TLS configuration to use when connect to the endpoint. For example if using istio mTLS.
782 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
783 tlsConfig: {}
784
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500785 ## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
786 ##
787 paused: false
788
789 ## Define which Nodes the Pods are scheduled on.
790 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
791 ##
792 nodeSelector: {}
793
794 ## Define resources requests and limits for single Pods.
795 ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
796 ##
797 resources: {}
798 # requests:
799 # memory: 400Mi
800
801 ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
802 ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
803 ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
804 ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
805 ##
806 podAntiAffinity: ""
807
808 ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
809 ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
810 ##
811 podAntiAffinityTopologyKey: kubernetes.io/hostname
812
813 ## Assign custom affinity rules to the alertmanager instance
814 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
815 ##
816 affinity: {}
817 # nodeAffinity:
818 # requiredDuringSchedulingIgnoredDuringExecution:
819 # nodeSelectorTerms:
820 # - matchExpressions:
821 # - key: kubernetes.io/e2e-az-name
822 # operator: In
823 # values:
824 # - e2e-az1
825 # - e2e-az2
826
827 ## If specified, the pod's tolerations.
828 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
829 ##
830 tolerations: []
831 # - key: "key"
832 # operator: "Equal"
833 # value: "value"
834 # effect: "NoSchedule"
835
836 ## If specified, the pod's topology spread constraints.
837 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
838 ##
839 topologySpreadConstraints: []
840 # - maxSkew: 1
841 # topologyKey: topology.kubernetes.io/zone
842 # whenUnsatisfiable: DoNotSchedule
843 # labelSelector:
844 # matchLabels:
845 # app: alertmanager
846
847 ## SecurityContext holds pod-level security attributes and common container settings.
848 ## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false
849 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
850 ##
851 securityContext:
852 runAsGroup: 2000
853 runAsNonRoot: true
854 runAsUser: 1000
855 fsGroup: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400856 seccompProfile:
857 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500858
859 ## ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP.
860 ## Note this is only for the Alertmanager UI, not the gossip communication.
861 ##
862 listenLocal: false
863
864 ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an Alertmanager pod.
865 ##
866 containers: []
867 # containers:
868 # - name: oauth-proxy
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500869 # image: quay.io/oauth2-proxy/oauth2-proxy:v7.5.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500870 # args:
871 # - --upstream=http://127.0.0.1:9093
872 # - --http-address=0.0.0.0:8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500873 # - --metrics-address=0.0.0.0:8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500874 # - ...
875 # ports:
876 # - containerPort: 8081
877 # name: oauth-proxy
878 # protocol: TCP
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500879 # - containerPort: 8082
880 # name: oauth-metrics
881 # protocol: TCP
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500882 # resources: {}
883
884 # Additional volumes on the output StatefulSet definition.
885 volumes: []
886
887 # Additional VolumeMounts on the output StatefulSet definition.
888 volumeMounts: []
889
890 ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
891 ## (permissions, dir tree) on mounted volumes before starting prometheus
892 initContainers: []
893
894 ## Priority class assigned to the Pods
895 ##
896 priorityClassName: ""
897
898 ## AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster.
899 ##
900 additionalPeers: []
901
902 ## PortName to use for Alert Manager.
903 ##
904 portName: "http-web"
905
906 ## ClusterAdvertiseAddress is the explicit address to advertise in cluster. Needs to be provided for non RFC1918 [1] (public) addresses. [1] RFC1918: https://tools.ietf.org/html/rfc1918
907 ##
908 clusterAdvertiseAddress: false
909
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400910 ## clusterGossipInterval determines interval between gossip attempts.
911 ## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
912 clusterGossipInterval: ""
913
914 ## clusterPeerTimeout determines timeout for cluster peering.
915 ## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
916 clusterPeerTimeout: ""
917
918 ## clusterPushpullInterval determines interval between pushpull attempts.
919 ## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
920 clusterPushpullInterval: ""
921
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500922 ## ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
923 ## Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
924 forceEnableClusterMode: false
925
926 ## Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to
927 ## be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).
928 minReadySeconds: 0
929
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500930 ## Additional configuration which is not covered by the properties above. (passed through tpl)
931 additionalConfig: {}
932
933 ## Additional configuration which is not covered by the properties above.
934 ## Useful, if you need advanced templating inside alertmanagerSpec.
935 ## Otherwise, use alertmanager.alertmanagerSpec.additionalConfig (passed through tpl)
936 additionalConfigString: ""
937
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500938 ## ExtraSecret can be used to store various data in an extra secret
939 ## (use it for example to store hashed basic auth credentials)
940 extraSecret:
941 ## if not set, name will be auto generated
942 # name: ""
943 annotations: {}
944 data: {}
945 # auth: |
946 # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
947 # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
948
949## Using default values from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
950##
951grafana:
952 enabled: true
953 namespaceOverride: ""
954
955 ## ForceDeployDatasources Create datasource configmap even if grafana deployment has been disabled
956 ##
957 forceDeployDatasources: false
958
959 ## ForceDeployDashboard Create dashboard configmap even if grafana deployment has been disabled
960 ##
961 forceDeployDashboards: false
962
963 ## Deploy default dashboards
964 ##
965 defaultDashboardsEnabled: true
966
967 ## Timezone for the default dashboards
968 ## Other options are: browser or a specific timezone, i.e. Europe/Luxembourg
969 ##
970 defaultDashboardsTimezone: utc
971
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500972 ## Editable flag for the default dashboards
973 ##
974 defaultDashboardsEditable: true
975
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500976 adminPassword: prom-operator
977
978 rbac:
979 ## If true, Grafana PSPs will be created
980 ##
981 pspEnabled: false
982
983 ingress:
984 ## If true, Grafana Ingress will be created
985 ##
986 enabled: false
987
988 ## IngressClassName for Grafana Ingress.
989 ## Should be provided if Ingress is enable.
990 ##
991 # ingressClassName: nginx
992
993 ## Annotations for Grafana Ingress
994 ##
995 annotations: {}
996 # kubernetes.io/ingress.class: nginx
997 # kubernetes.io/tls-acme: "true"
998
999 ## Labels to be added to the Ingress
1000 ##
1001 labels: {}
1002
1003 ## Hostnames.
1004 ## Must be provided if Ingress is enable.
1005 ##
1006 # hosts:
1007 # - grafana.domain.com
1008 hosts: []
1009
1010 ## Path for grafana ingress
1011 path: /
1012
1013 ## TLS configuration for grafana Ingress
1014 ## Secret must be manually created in the namespace
1015 ##
1016 tls: []
1017 # - secretName: grafana-general-tls
1018 # hosts:
1019 # - grafana.example.com
1020
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001021 # # To make Grafana persistent (Using Statefulset)
1022 # #
1023 # persistence:
1024 # enabled: true
1025 # type: sts
1026 # storageClassName: "storageClassName"
1027 # accessModes:
1028 # - ReadWriteOnce
1029 # size: 20Gi
1030 # finalizers:
1031 # - kubernetes.io/pvc-protection
1032
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001033 serviceAccount:
1034 create: true
1035 autoMount: true
1036
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001037 sidecar:
1038 dashboards:
1039 enabled: true
1040 label: grafana_dashboard
1041 labelValue: "1"
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001042 # Allow discovery in all namespaces for dashboards
1043 searchNamespace: ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001044
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001045 # Support for new table panels, when enabled grafana auto migrates the old table panels to newer table panels
1046 enableNewTablePanelSyntax: false
1047
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001048 ## Annotations for Grafana dashboard configmaps
1049 ##
1050 annotations: {}
1051 multicluster:
1052 global:
1053 enabled: false
1054 etcd:
1055 enabled: false
1056 provider:
1057 allowUiUpdates: false
1058 datasources:
1059 enabled: true
1060 defaultDatasourceEnabled: true
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001061 isDefaultDatasource: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001062
Mohammed Naser7d1623e2024-06-17 09:12:39 -04001063 name: Prometheus
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001064 uid: prometheus
1065
1066 ## URL of prometheus datasource
1067 ##
1068 # url: http://prometheus-stack-prometheus:9090/
1069
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001070 ## Prometheus request timeout in seconds
1071 # timeout: 30
1072
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001073 # If not defined, will use prometheus.prometheusSpec.scrapeInterval or its default
1074 # defaultDatasourceScrapeInterval: 15s
1075
1076 ## Annotations for Grafana datasource configmaps
1077 ##
1078 annotations: {}
1079
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001080 ## Set method for HTTP to send query to datasource
1081 httpMethod: POST
1082
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001083 ## Create datasource for each Pod of Prometheus StatefulSet;
1084 ## this uses headless service `prometheus-operated` which is
1085 ## created by Prometheus Operator
1086 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/0fee93e12dc7c2ea1218f19ae25ec6b893460590/pkg/prometheus/statefulset.go#L255-L286
1087 createPrometheusReplicasDatasources: false
1088 label: grafana_datasource
1089 labelValue: "1"
1090
1091 ## Field with internal link pointing to existing data source in Grafana.
1092 ## Can be provisioned via additionalDataSources
1093 exemplarTraceIdDestinations: {}
1094 # datasourceUid: Jaeger
1095 # traceIdLabelName: trace_id
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001096 alertmanager:
1097 enabled: true
Mohammed Naser7d1623e2024-06-17 09:12:39 -04001098 name: Alertmanager
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001099 uid: alertmanager
1100 handleGrafanaManagedAlerts: false
1101 implementation: prometheus
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001102
1103 extraConfigmapMounts: []
1104 # - name: certs-configmap
1105 # mountPath: /etc/grafana/ssl/
1106 # configMap: certs-configmap
1107 # readOnly: true
1108
1109 deleteDatasources: []
1110 # - name: example-datasource
1111 # orgId: 1
1112
1113 ## Configure additional grafana datasources (passed through tpl)
1114 ## ref: http://docs.grafana.org/administration/provisioning/#datasources
1115 additionalDataSources: []
1116 # - name: prometheus-sample
1117 # access: proxy
1118 # basicAuth: true
1119 # basicAuthPassword: pass
1120 # basicAuthUser: daco
1121 # editable: false
1122 # jsonData:
1123 # tlsSkipVerify: true
1124 # orgId: 1
1125 # type: prometheus
1126 # url: https://{{ printf "%s-prometheus.svc" .Release.Name }}:9090
1127 # version: 1
1128
1129 ## Passed to grafana subchart and used by servicemonitor below
1130 ##
1131 service:
1132 portName: http-web
1133
1134 serviceMonitor:
1135 # If true, a ServiceMonitor CRD is created for a prometheus operator
1136 # https://github.com/coreos/prometheus-operator
1137 #
1138 enabled: true
1139
1140 # Path to use for scraping metrics. Might be different if server.root_url is set
1141 # in grafana.ini
1142 path: "/metrics"
1143
1144 # namespace: monitoring (defaults to use the namespace this chart is deployed to)
1145
1146 # labels for the ServiceMonitor
1147 labels: {}
1148
1149 # Scrape interval. If not set, the Prometheus default scrape interval is used.
1150 #
1151 interval: ""
1152 scheme: http
1153 tlsConfig: {}
1154 scrapeTimeout: 30s
1155
1156 ## RelabelConfigs to apply to samples before scraping
1157 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1158 ##
1159 relabelings: []
1160 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1161 # separator: ;
1162 # regex: ^(.*)$
1163 # targetLabel: nodename
1164 # replacement: $1
1165 # action: replace
1166
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001167## Flag to disable all the kubernetes component scrapers
1168##
1169kubernetesServiceMonitors:
1170 enabled: true
1171
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001172## Component scraping the kube api server
1173##
1174kubeApiServer:
1175 enabled: true
1176 tlsConfig:
1177 serverName: kubernetes
1178 insecureSkipVerify: false
1179 serviceMonitor:
1180 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1181 ##
1182 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001183
1184 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1185 ##
1186 sampleLimit: 0
1187
1188 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1189 ##
1190 targetLimit: 0
1191
1192 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1193 ##
1194 labelLimit: 0
1195
1196 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1197 ##
1198 labelNameLengthLimit: 0
1199
1200 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1201 ##
1202 labelValueLengthLimit: 0
1203
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001204 ## proxyUrl: URL of a proxy that should be used for scraping.
1205 ##
1206 proxyUrl: ""
1207
1208 jobLabel: component
1209 selector:
1210 matchLabels:
1211 component: apiserver
1212 provider: kubernetes
1213
1214 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1215 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1216 ##
1217 metricRelabelings:
1218 # Drop excessively noisy apiserver buckets.
1219 - action: drop
1220 regex: apiserver_request_duration_seconds_bucket;(0.15|0.2|0.3|0.35|0.4|0.45|0.6|0.7|0.8|0.9|1.25|1.5|1.75|2|3|3.5|4|4.5|6|7|8|9|15|25|40|50)
1221 sourceLabels:
1222 - __name__
1223 - le
1224 # - action: keep
1225 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1226 # sourceLabels: [__name__]
1227
1228 ## RelabelConfigs to apply to samples before scraping
1229 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1230 ##
1231 relabelings: []
1232 # - sourceLabels:
1233 # - __meta_kubernetes_namespace
1234 # - __meta_kubernetes_service_name
1235 # - __meta_kubernetes_endpoint_port_name
1236 # action: keep
1237 # regex: default;kubernetes;https
1238 # - targetLabel: __address__
1239 # replacement: kubernetes.default.svc:443
1240
1241 ## Additional labels
1242 ##
1243 additionalLabels: {}
1244 # foo: bar
1245
1246## Component scraping the kubelet and kubelet-hosted cAdvisor
1247##
1248kubelet:
1249 enabled: true
1250 namespace: kube-system
1251
1252 serviceMonitor:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001253 ## Attach metadata to discovered targets. Requires Prometheus v2.45 for endpoints created by the operator.
1254 ##
1255 attachMetadata:
1256 node: false
1257
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001258 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1259 ##
1260 interval: ""
1261
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001262 ## If true, Prometheus use (respect) labels provided by exporter.
1263 ##
1264 honorLabels: true
1265
1266 ## If true, Prometheus ingests metrics with timestamp provided by exporter. If false, Prometheus ingests metrics with timestamp of scrape.
1267 ##
1268 honorTimestamps: true
1269
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001270 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1271 ##
1272 sampleLimit: 0
1273
1274 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1275 ##
1276 targetLimit: 0
1277
1278 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1279 ##
1280 labelLimit: 0
1281
1282 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1283 ##
1284 labelNameLengthLimit: 0
1285
1286 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1287 ##
1288 labelValueLengthLimit: 0
1289
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001290 ## proxyUrl: URL of a proxy that should be used for scraping.
1291 ##
1292 proxyUrl: ""
1293
1294 ## Enable scraping the kubelet over https. For requirements to enable this see
1295 ## https://github.com/prometheus-operator/prometheus-operator/issues/926
1296 ##
1297 https: true
1298
Mohammed Naser7d1623e2024-06-17 09:12:39 -04001299 ## Skip TLS certificate validation when scraping.
1300 ## This is enabled by default because kubelet serving certificate deployed by kubeadm is by default self-signed
1301 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#kubelet-serving-certs
1302 ##
1303 insecureSkipVerify: true
1304
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001305 ## Enable scraping /metrics/cadvisor from kubelet's service
1306 ##
1307 cAdvisor: true
1308
1309 ## Enable scraping /metrics/probes from kubelet's service
1310 ##
1311 probes: true
1312
1313 ## Enable scraping /metrics/resource from kubelet's service
1314 ## This is disabled by default because container metrics are already exposed by cAdvisor
1315 ##
1316 resource: false
1317 # From kubernetes 1.18, /metrics/resource/v1alpha1 renamed to /metrics/resource
1318 resourcePath: "/metrics/resource/v1alpha1"
1319
1320 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1321 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1322 ##
1323 cAdvisorMetricRelabelings:
1324 # Drop less useful container CPU metrics.
1325 - sourceLabels: [__name__]
1326 action: drop
1327 regex: 'container_cpu_(cfs_throttled_seconds_total|load_average_10s|system_seconds_total|user_seconds_total)'
1328 # Drop less useful container / always zero filesystem metrics.
1329 - sourceLabels: [__name__]
1330 action: drop
1331 regex: 'container_fs_(io_current|io_time_seconds_total|io_time_weighted_seconds_total|reads_merged_total|sector_reads_total|sector_writes_total|writes_merged_total)'
1332 # Drop less useful / always zero container memory metrics.
1333 - sourceLabels: [__name__]
1334 action: drop
1335 regex: 'container_memory_(mapped_file|swap)'
1336 # Drop less useful container process metrics.
1337 - sourceLabels: [__name__]
1338 action: drop
1339 regex: 'container_(file_descriptors|tasks_state|threads_max)'
1340 # Drop container spec metrics that overlap with kube-state-metrics.
1341 - sourceLabels: [__name__]
1342 action: drop
1343 regex: 'container_spec.*'
1344 # Drop cgroup metrics with no pod.
1345 - sourceLabels: [id, pod]
1346 action: drop
1347 regex: '.+;'
1348 # - sourceLabels: [__name__, image]
1349 # separator: ;
1350 # regex: container_([a-z_]+);
1351 # replacement: $1
1352 # action: drop
1353 # - sourceLabels: [__name__]
1354 # separator: ;
1355 # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
1356 # replacement: $1
1357 # action: drop
1358
1359 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1360 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1361 ##
1362 probesMetricRelabelings: []
1363 # - sourceLabels: [__name__, image]
1364 # separator: ;
1365 # regex: container_([a-z_]+);
1366 # replacement: $1
1367 # action: drop
1368 # - sourceLabels: [__name__]
1369 # separator: ;
1370 # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
1371 # replacement: $1
1372 # action: drop
1373
1374 ## RelabelConfigs to apply to samples before scraping
1375 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1376 ##
1377 ## metrics_path is required to match upstream rules and charts
1378 cAdvisorRelabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001379 - action: replace
1380 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001381 targetLabel: metrics_path
1382 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1383 # separator: ;
1384 # regex: ^(.*)$
1385 # targetLabel: nodename
1386 # replacement: $1
1387 # action: replace
1388
1389 ## RelabelConfigs to apply to samples before scraping
1390 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1391 ##
1392 probesRelabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001393 - action: replace
1394 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001395 targetLabel: metrics_path
1396 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1397 # separator: ;
1398 # regex: ^(.*)$
1399 # targetLabel: nodename
1400 # replacement: $1
1401 # action: replace
1402
1403 ## RelabelConfigs to apply to samples before scraping
1404 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1405 ##
1406 resourceRelabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001407 - action: replace
1408 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001409 targetLabel: metrics_path
1410 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1411 # separator: ;
1412 # regex: ^(.*)$
1413 # targetLabel: nodename
1414 # replacement: $1
1415 # action: replace
1416
1417 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1418 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1419 ##
1420 metricRelabelings: []
1421 # - sourceLabels: [__name__, image]
1422 # separator: ;
1423 # regex: container_([a-z_]+);
1424 # replacement: $1
1425 # action: drop
1426 # - sourceLabels: [__name__]
1427 # separator: ;
1428 # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
1429 # replacement: $1
1430 # action: drop
1431
1432 ## RelabelConfigs to apply to samples before scraping
1433 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1434 ##
1435 ## metrics_path is required to match upstream rules and charts
1436 relabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001437 - action: replace
1438 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001439 targetLabel: metrics_path
1440 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1441 # separator: ;
1442 # regex: ^(.*)$
1443 # targetLabel: nodename
1444 # replacement: $1
1445 # action: replace
1446
1447 ## Additional labels
1448 ##
1449 additionalLabels: {}
1450 # foo: bar
1451
1452## Component scraping the kube controller manager
1453##
1454kubeControllerManager:
1455 enabled: true
1456
1457 ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on
1458 ##
1459 endpoints: []
1460 # - 10.141.4.22
1461 # - 10.141.4.23
1462 # - 10.141.4.24
1463
1464 ## If using kubeControllerManager.endpoints only the port and targetPort are used
1465 ##
1466 service:
1467 enabled: true
1468 ## If null or unset, the value is determined dynamically based on target Kubernetes version due to change
1469 ## of default port in Kubernetes 1.22.
1470 ##
1471 port: null
1472 targetPort: null
Mohammed Naser65cda132024-05-02 14:34:08 -04001473 ipDualStack:
1474 enabled: false
1475 ipFamilies: ["IPv6", "IPv4"]
1476 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001477 # selector:
1478 # component: kube-controller-manager
1479
1480 serviceMonitor:
1481 enabled: true
1482 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1483 ##
1484 interval: ""
1485
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001486 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1487 ##
1488 sampleLimit: 0
1489
1490 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1491 ##
1492 targetLimit: 0
1493
1494 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1495 ##
1496 labelLimit: 0
1497
1498 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1499 ##
1500 labelNameLengthLimit: 0
1501
1502 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1503 ##
1504 labelValueLengthLimit: 0
1505
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001506 ## proxyUrl: URL of a proxy that should be used for scraping.
1507 ##
1508 proxyUrl: ""
1509
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001510 ## port: Name of the port the metrics will be scraped from
1511 ##
1512 port: http-metrics
1513
1514 jobLabel: jobLabel
1515 selector: {}
1516 # matchLabels:
1517 # component: kube-controller-manager
1518
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001519 ## Enable scraping kube-controller-manager over https.
1520 ## Requires proper certs (not self-signed) and delegated authentication/authorization checks.
1521 ## If null or unset, the value is determined dynamically based on target Kubernetes version.
1522 ##
1523 https: null
1524
1525 # Skip TLS certificate validation when scraping
1526 insecureSkipVerify: null
1527
1528 # Name of the server to use when validating TLS certificate
1529 serverName: null
1530
1531 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1532 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1533 ##
1534 metricRelabelings: []
1535 # - action: keep
1536 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1537 # sourceLabels: [__name__]
1538
1539 ## RelabelConfigs to apply to samples before scraping
1540 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1541 ##
1542 relabelings: []
1543 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1544 # separator: ;
1545 # regex: ^(.*)$
1546 # targetLabel: nodename
1547 # replacement: $1
1548 # action: replace
1549
1550 ## Additional labels
1551 ##
1552 additionalLabels: {}
1553 # foo: bar
1554
1555## Component scraping coreDns. Use either this or kubeDns
1556##
1557coreDns:
1558 enabled: true
1559 service:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001560 enabled: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001561 port: 9153
1562 targetPort: 9153
Mohammed Naser65cda132024-05-02 14:34:08 -04001563
1564 ipDualStack:
1565 enabled: false
1566 ipFamilies: ["IPv6", "IPv4"]
1567 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001568 # selector:
1569 # k8s-app: kube-dns
1570 serviceMonitor:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001571 enabled: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001572 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1573 ##
1574 interval: ""
1575
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001576 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1577 ##
1578 sampleLimit: 0
1579
1580 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1581 ##
1582 targetLimit: 0
1583
1584 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1585 ##
1586 labelLimit: 0
1587
1588 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1589 ##
1590 labelNameLengthLimit: 0
1591
1592 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1593 ##
1594 labelValueLengthLimit: 0
1595
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001596 ## proxyUrl: URL of a proxy that should be used for scraping.
1597 ##
1598 proxyUrl: ""
1599
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001600 ## port: Name of the port the metrics will be scraped from
1601 ##
1602 port: http-metrics
1603
1604 jobLabel: jobLabel
1605 selector: {}
1606 # matchLabels:
1607 # k8s-app: kube-dns
1608
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001609 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1610 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1611 ##
1612 metricRelabelings: []
1613 # - action: keep
1614 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1615 # sourceLabels: [__name__]
1616
1617 ## RelabelConfigs to apply to samples before scraping
1618 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1619 ##
1620 relabelings: []
1621 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1622 # separator: ;
1623 # regex: ^(.*)$
1624 # targetLabel: nodename
1625 # replacement: $1
1626 # action: replace
1627
1628 ## Additional labels
1629 ##
1630 additionalLabels: {}
1631 # foo: bar
1632
1633## Component scraping kubeDns. Use either this or coreDns
1634##
1635kubeDns:
1636 enabled: false
1637 service:
1638 dnsmasq:
1639 port: 10054
1640 targetPort: 10054
1641 skydns:
1642 port: 10055
1643 targetPort: 10055
Mohammed Naser65cda132024-05-02 14:34:08 -04001644 ipDualStack:
1645 enabled: false
1646 ipFamilies: ["IPv6", "IPv4"]
1647 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001648 # selector:
1649 # k8s-app: kube-dns
1650 serviceMonitor:
1651 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1652 ##
1653 interval: ""
1654
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001655 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1656 ##
1657 sampleLimit: 0
1658
1659 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1660 ##
1661 targetLimit: 0
1662
1663 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1664 ##
1665 labelLimit: 0
1666
1667 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1668 ##
1669 labelNameLengthLimit: 0
1670
1671 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1672 ##
1673 labelValueLengthLimit: 0
1674
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001675 ## proxyUrl: URL of a proxy that should be used for scraping.
1676 ##
1677 proxyUrl: ""
1678
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001679 jobLabel: jobLabel
1680 selector: {}
1681 # matchLabels:
1682 # k8s-app: kube-dns
1683
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001684 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1685 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1686 ##
1687 metricRelabelings: []
1688 # - action: keep
1689 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1690 # sourceLabels: [__name__]
1691
1692 ## RelabelConfigs to apply to samples before scraping
1693 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1694 ##
1695 relabelings: []
1696 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1697 # separator: ;
1698 # regex: ^(.*)$
1699 # targetLabel: nodename
1700 # replacement: $1
1701 # action: replace
1702
1703 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1704 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1705 ##
1706 dnsmasqMetricRelabelings: []
1707 # - action: keep
1708 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1709 # sourceLabels: [__name__]
1710
1711 ## RelabelConfigs to apply to samples before scraping
1712 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1713 ##
1714 dnsmasqRelabelings: []
1715 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1716 # separator: ;
1717 # regex: ^(.*)$
1718 # targetLabel: nodename
1719 # replacement: $1
1720 # action: replace
1721
1722 ## Additional labels
1723 ##
1724 additionalLabels: {}
1725 # foo: bar
1726
1727## Component scraping etcd
1728##
1729kubeEtcd:
1730 enabled: true
1731
1732 ## If your etcd is not deployed as a pod, specify IPs it can be found on
1733 ##
1734 endpoints: []
1735 # - 10.141.4.22
1736 # - 10.141.4.23
1737 # - 10.141.4.24
1738
1739 ## Etcd service. If using kubeEtcd.endpoints only the port and targetPort are used
1740 ##
1741 service:
1742 enabled: true
1743 port: 2381
1744 targetPort: 2381
Mohammed Naser65cda132024-05-02 14:34:08 -04001745 ipDualStack:
1746 enabled: false
1747 ipFamilies: ["IPv6", "IPv4"]
1748 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001749 # selector:
1750 # component: etcd
1751
1752 ## Configure secure access to the etcd cluster by loading a secret into prometheus and
1753 ## specifying security configuration below. For example, with a secret named etcd-client-cert
1754 ##
1755 ## serviceMonitor:
1756 ## scheme: https
1757 ## insecureSkipVerify: false
1758 ## serverName: localhost
1759 ## caFile: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
1760 ## certFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client
1761 ## keyFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
1762 ##
1763 serviceMonitor:
1764 enabled: true
1765 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1766 ##
1767 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001768
1769 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1770 ##
1771 sampleLimit: 0
1772
1773 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1774 ##
1775 targetLimit: 0
1776
1777 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1778 ##
1779 labelLimit: 0
1780
1781 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1782 ##
1783 labelNameLengthLimit: 0
1784
1785 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1786 ##
1787 labelValueLengthLimit: 0
1788
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001789 ## proxyUrl: URL of a proxy that should be used for scraping.
1790 ##
1791 proxyUrl: ""
1792 scheme: http
1793 insecureSkipVerify: false
1794 serverName: ""
1795 caFile: ""
1796 certFile: ""
1797 keyFile: ""
1798
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001799 ## port: Name of the port the metrics will be scraped from
1800 ##
1801 port: http-metrics
1802
1803 jobLabel: jobLabel
1804 selector: {}
1805 # matchLabels:
1806 # component: etcd
1807
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001808 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1809 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1810 ##
1811 metricRelabelings: []
1812 # - action: keep
1813 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1814 # sourceLabels: [__name__]
1815
1816 ## RelabelConfigs to apply to samples before scraping
1817 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1818 ##
1819 relabelings: []
1820 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1821 # separator: ;
1822 # regex: ^(.*)$
1823 # targetLabel: nodename
1824 # replacement: $1
1825 # action: replace
1826
1827 ## Additional labels
1828 ##
1829 additionalLabels: {}
1830 # foo: bar
1831
1832## Component scraping kube scheduler
1833##
1834kubeScheduler:
1835 enabled: true
1836
1837 ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on
1838 ##
1839 endpoints: []
1840 # - 10.141.4.22
1841 # - 10.141.4.23
1842 # - 10.141.4.24
1843
1844 ## If using kubeScheduler.endpoints only the port and targetPort are used
1845 ##
1846 service:
1847 enabled: true
1848 ## If null or unset, the value is determined dynamically based on target Kubernetes version due to change
1849 ## of default port in Kubernetes 1.23.
1850 ##
1851 port: null
1852 targetPort: null
Mohammed Naser65cda132024-05-02 14:34:08 -04001853 ipDualStack:
1854 enabled: false
1855 ipFamilies: ["IPv6", "IPv4"]
1856 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001857 # selector:
1858 # component: kube-scheduler
1859
1860 serviceMonitor:
1861 enabled: true
1862 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1863 ##
1864 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001865
1866 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1867 ##
1868 sampleLimit: 0
1869
1870 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1871 ##
1872 targetLimit: 0
1873
1874 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1875 ##
1876 labelLimit: 0
1877
1878 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1879 ##
1880 labelNameLengthLimit: 0
1881
1882 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1883 ##
1884 labelValueLengthLimit: 0
1885
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001886 ## proxyUrl: URL of a proxy that should be used for scraping.
1887 ##
1888 proxyUrl: ""
1889 ## Enable scraping kube-scheduler over https.
1890 ## Requires proper certs (not self-signed) and delegated authentication/authorization checks.
1891 ## If null or unset, the value is determined dynamically based on target Kubernetes version.
1892 ##
1893 https: null
1894
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001895 ## port: Name of the port the metrics will be scraped from
1896 ##
1897 port: http-metrics
1898
1899 jobLabel: jobLabel
1900 selector: {}
1901 # matchLabels:
1902 # component: kube-scheduler
1903
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001904 ## Skip TLS certificate validation when scraping
1905 insecureSkipVerify: null
1906
1907 ## Name of the server to use when validating TLS certificate
1908 serverName: null
1909
1910 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1911 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1912 ##
1913 metricRelabelings: []
1914 # - action: keep
1915 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1916 # sourceLabels: [__name__]
1917
1918 ## RelabelConfigs to apply to samples before scraping
1919 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1920 ##
1921 relabelings: []
1922 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1923 # separator: ;
1924 # regex: ^(.*)$
1925 # targetLabel: nodename
1926 # replacement: $1
1927 # action: replace
1928
1929 ## Additional labels
1930 ##
1931 additionalLabels: {}
1932 # foo: bar
1933
1934## Component scraping kube proxy
1935##
1936kubeProxy:
1937 enabled: true
1938
1939 ## If your kube proxy is not deployed as a pod, specify IPs it can be found on
1940 ##
1941 endpoints: []
1942 # - 10.141.4.22
1943 # - 10.141.4.23
1944 # - 10.141.4.24
1945
1946 service:
1947 enabled: true
1948 port: 10249
1949 targetPort: 10249
Mohammed Naser65cda132024-05-02 14:34:08 -04001950 ipDualStack:
1951 enabled: false
1952 ipFamilies: ["IPv6", "IPv4"]
1953 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001954 # selector:
1955 # k8s-app: kube-proxy
1956
1957 serviceMonitor:
1958 enabled: true
1959 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1960 ##
1961 interval: ""
1962
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001963 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1964 ##
1965 sampleLimit: 0
1966
1967 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1968 ##
1969 targetLimit: 0
1970
1971 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1972 ##
1973 labelLimit: 0
1974
1975 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1976 ##
1977 labelNameLengthLimit: 0
1978
1979 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1980 ##
1981 labelValueLengthLimit: 0
1982
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001983 ## proxyUrl: URL of a proxy that should be used for scraping.
1984 ##
1985 proxyUrl: ""
1986
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001987 ## port: Name of the port the metrics will be scraped from
1988 ##
1989 port: http-metrics
1990
1991 jobLabel: jobLabel
1992 selector: {}
1993 # matchLabels:
1994 # k8s-app: kube-proxy
1995
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001996 ## Enable scraping kube-proxy over https.
1997 ## Requires proper certs (not self-signed) and delegated authentication/authorization checks
1998 ##
1999 https: false
2000
2001 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
2002 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2003 ##
2004 metricRelabelings: []
2005 # - action: keep
2006 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
2007 # sourceLabels: [__name__]
2008
2009 ## RelabelConfigs to apply to samples before scraping
2010 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2011 ##
2012 relabelings: []
2013 # - action: keep
2014 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
2015 # sourceLabels: [__name__]
2016
2017 ## Additional labels
2018 ##
2019 additionalLabels: {}
2020 # foo: bar
2021
2022## Component scraping kube state metrics
2023##
2024kubeStateMetrics:
2025 enabled: true
2026
2027## Configuration for kube-state-metrics subchart
2028##
2029kube-state-metrics:
2030 namespaceOverride: ""
2031 rbac:
2032 create: true
2033 releaseLabel: true
2034 prometheus:
2035 monitor:
2036 enabled: true
2037
2038 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
2039 ##
2040 interval: ""
2041
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002042 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
2043 ##
2044 sampleLimit: 0
2045
2046 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
2047 ##
2048 targetLimit: 0
2049
2050 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2051 ##
2052 labelLimit: 0
2053
2054 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2055 ##
2056 labelNameLengthLimit: 0
2057
2058 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2059 ##
2060 labelValueLengthLimit: 0
2061
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002062 ## Scrape Timeout. If not set, the Prometheus default scrape timeout is used.
2063 ##
2064 scrapeTimeout: ""
2065
2066 ## proxyUrl: URL of a proxy that should be used for scraping.
2067 ##
2068 proxyUrl: ""
2069
2070 # Keep labels from scraped data, overriding server-side labels
2071 ##
2072 honorLabels: true
2073
2074 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
2075 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2076 ##
2077 metricRelabelings: []
2078 # - action: keep
2079 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
2080 # sourceLabels: [__name__]
2081
2082 ## RelabelConfigs to apply to samples before scraping
2083 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2084 ##
2085 relabelings: []
2086 # - sourceLabels: [__meta_kubernetes_pod_node_name]
2087 # separator: ;
2088 # regex: ^(.*)$
2089 # targetLabel: nodename
2090 # replacement: $1
2091 # action: replace
2092
2093 selfMonitor:
2094 enabled: false
2095
2096## Deploy node exporter as a daemonset to all nodes
2097##
2098nodeExporter:
2099 enabled: true
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002100 operatingSystems:
2101 linux:
2102 enabled: true
2103 darwin:
2104 enabled: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002105
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002106 ## ForceDeployDashboard Create dashboard configmap even if nodeExporter deployment has been disabled
2107 ##
2108 forceDeployDashboards: false
2109
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002110## Configuration for prometheus-node-exporter subchart
2111##
2112prometheus-node-exporter:
2113 namespaceOverride: ""
2114 podLabels:
2115 ## Add the 'node-exporter' label to be used by serviceMonitor to match standard common usage in rules and grafana dashboards
2116 ##
2117 jobLabel: node-exporter
2118 releaseLabel: true
2119 extraArgs:
2120 - --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
2121 - --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
2122 service:
2123 portName: http-metrics
Mohammed Naser65cda132024-05-02 14:34:08 -04002124 ipDualStack:
2125 enabled: false
2126 ipFamilies: ["IPv6", "IPv4"]
2127 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002128 prometheus:
2129 monitor:
2130 enabled: true
2131
2132 jobLabel: jobLabel
2133
2134 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
2135 ##
2136 interval: ""
2137
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002138 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
2139 ##
2140 sampleLimit: 0
2141
2142 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
2143 ##
2144 targetLimit: 0
2145
2146 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2147 ##
2148 labelLimit: 0
2149
2150 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2151 ##
2152 labelNameLengthLimit: 0
2153
2154 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2155 ##
2156 labelValueLengthLimit: 0
2157
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002158 ## How long until a scrape request times out. If not set, the Prometheus default scape timeout is used.
2159 ##
2160 scrapeTimeout: ""
2161
2162 ## proxyUrl: URL of a proxy that should be used for scraping.
2163 ##
2164 proxyUrl: ""
2165
2166 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
2167 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2168 ##
2169 metricRelabelings: []
2170 # - sourceLabels: [__name__]
2171 # separator: ;
2172 # regex: ^node_mountstats_nfs_(event|operations|transport)_.+
2173 # replacement: $1
2174 # action: drop
2175
2176 ## RelabelConfigs to apply to samples before scraping
2177 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2178 ##
2179 relabelings: []
2180 # - sourceLabels: [__meta_kubernetes_pod_node_name]
2181 # separator: ;
2182 # regex: ^(.*)$
2183 # targetLabel: nodename
2184 # replacement: $1
2185 # action: replace
2186 rbac:
2187 ## If true, create PSPs for node-exporter
2188 ##
2189 pspEnabled: false
2190
2191## Manages Prometheus and Alertmanager components
2192##
2193prometheusOperator:
2194 enabled: true
2195
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002196 ## Use '{{ template "kube-prometheus-stack.fullname" . }}-operator' by default
2197 fullnameOverride: ""
2198
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002199 ## Number of old replicasets to retain ##
2200 ## The default value is 10, 0 will garbage-collect old replicasets ##
2201 revisionHistoryLimit: 10
2202
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002203 ## Strategy of the deployment
2204 ##
2205 strategy: {}
2206
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002207 ## Prometheus-Operator v0.39.0 and later support TLS natively.
2208 ##
2209 tls:
2210 enabled: true
2211 # Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants
2212 tlsMinVersion: VersionTLS13
2213 # The default webhook port is 10250 in order to work out-of-the-box in GKE private clusters and avoid adding firewall rules.
2214 internalPort: 10250
2215
2216 ## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
2217 ## rules from making their way into prometheus and potentially preventing the container from starting
2218 admissionWebhooks:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002219 ## Valid values: Fail, Ignore, IgnoreOnInstallOnly
2220 ## IgnoreOnInstallOnly - If Release.IsInstall returns "true", set "Ignore" otherwise "Fail"
2221 failurePolicy: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002222 ## The default timeoutSeconds is 10 and the maximum value is 30.
2223 timeoutSeconds: 10
2224 enabled: true
2225 ## A PEM encoded CA bundle which will be used to validate the webhook's server certificate.
2226 ## If unspecified, system trust roots on the apiserver are used.
2227 caBundle: ""
2228 ## If enabled, generate a self-signed certificate, then patch the webhook configurations with the generated data.
2229 ## On chart upgrades (or if the secret exists) the cert will not be re-generated. You can use this to provide your own
2230 ## certs ahead of time if you wish.
2231 ##
2232 annotations: {}
2233 # argocd.argoproj.io/hook: PreSync
2234 # argocd.argoproj.io/hook-delete-policy: HookSucceeded
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002235
2236 namespaceSelector: {}
Mohammed Naser7d1623e2024-06-17 09:12:39 -04002237 objectSelector: {}
2238
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002239
2240 deployment:
2241 enabled: false
2242
2243 ## Number of replicas
2244 ##
2245 replicas: 1
2246
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002247 ## Strategy of the deployment
2248 ##
2249 strategy: {}
2250
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002251 # Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
2252 podDisruptionBudget: {}
2253 # maxUnavailable: 1
2254 # minAvailable: 1
2255
2256 ## Number of old replicasets to retain ##
2257 ## The default value is 10, 0 will garbage-collect old replicasets ##
2258 revisionHistoryLimit: 10
2259
2260 ## Prometheus-Operator v0.39.0 and later support TLS natively.
2261 ##
2262 tls:
2263 enabled: true
2264 # Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants
2265 tlsMinVersion: VersionTLS13
2266 # The default webhook port is 10250 in order to work out-of-the-box in GKE private clusters and avoid adding firewall rules.
2267 internalPort: 10250
2268
2269 ## Service account for Prometheus Operator Webhook to use.
2270 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2271 ##
2272 serviceAccount:
2273 automountServiceAccountToken: false
2274 create: true
2275 name: ""
2276
2277 ## Configuration for Prometheus operator Webhook service
2278 ##
2279 service:
2280 annotations: {}
2281 labels: {}
2282 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04002283 ipDualStack:
2284 enabled: false
2285 ipFamilies: ["IPv6", "IPv4"]
2286 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002287
2288 ## Port to expose on each node
2289 ## Only used if service.type is 'NodePort'
2290 ##
2291 nodePort: 31080
2292
2293 nodePortTls: 31443
2294
2295 ## Additional ports to open for Prometheus operator Webhook service
2296 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
2297 ##
2298 additionalPorts: []
2299
2300 ## Loadbalancer IP
2301 ## Only use if service.type is "LoadBalancer"
2302 ##
2303 loadBalancerIP: ""
2304 loadBalancerSourceRanges: []
2305
2306 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2307 ##
2308 externalTrafficPolicy: Cluster
2309
2310 ## Service type
2311 ## NodePort, ClusterIP, LoadBalancer
2312 ##
2313 type: ClusterIP
2314
2315 ## List of IP addresses at which the Prometheus server service is available
2316 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
2317 ##
2318 externalIPs: []
2319
2320 # ## Labels to add to the operator webhook deployment
2321 # ##
2322 labels: {}
2323
2324 ## Annotations to add to the operator webhook deployment
2325 ##
2326 annotations: {}
2327
2328 ## Labels to add to the operator webhook pod
2329 ##
2330 podLabels: {}
2331
2332 ## Annotations to add to the operator webhook pod
2333 ##
2334 podAnnotations: {}
2335
2336 ## Assign a PriorityClassName to pods if set
2337 # priorityClassName: ""
2338
2339 ## Define Log Format
2340 # Use logfmt (default) or json logging
2341 # logFormat: logfmt
2342
2343 ## Decrease log verbosity to errors only
2344 # logLevel: error
2345
2346 ## Prometheus-operator webhook image
2347 ##
2348 image:
2349 registry: quay.io
2350 repository: prometheus-operator/admission-webhook
2351 # if not set appVersion field from Chart.yaml is used
2352 tag: ""
2353 sha: ""
2354 pullPolicy: IfNotPresent
2355
2356 ## Define Log Format
2357 # Use logfmt (default) or json logging
2358 # logFormat: logfmt
2359
2360 ## Decrease log verbosity to errors only
2361 # logLevel: error
2362
2363
2364 ## Liveness probe
2365 ##
2366 livenessProbe:
2367 enabled: true
2368 failureThreshold: 3
2369 initialDelaySeconds: 30
2370 periodSeconds: 10
2371 successThreshold: 1
2372 timeoutSeconds: 1
2373
2374 ## Readiness probe
2375 ##
2376 readinessProbe:
2377 enabled: true
2378 failureThreshold: 3
2379 initialDelaySeconds: 5
2380 periodSeconds: 10
2381 successThreshold: 1
2382 timeoutSeconds: 1
2383
2384 ## Resource limits & requests
2385 ##
2386 resources: {}
2387 # limits:
2388 # cpu: 200m
2389 # memory: 200Mi
2390 # requests:
2391 # cpu: 100m
2392 # memory: 100Mi
2393
2394 # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
2395 # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
2396 ##
2397 hostNetwork: false
2398
2399 ## Define which Nodes the Pods are scheduled on.
2400 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
2401 ##
2402 nodeSelector: {}
2403
2404 ## Tolerations for use with node taints
2405 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2406 ##
2407 tolerations: []
2408 # - key: "key"
2409 # operator: "Equal"
2410 # value: "value"
2411 # effect: "NoSchedule"
2412
2413 ## Assign custom affinity rules to the prometheus operator
2414 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
2415 ##
2416 affinity: {}
2417 # nodeAffinity:
2418 # requiredDuringSchedulingIgnoredDuringExecution:
2419 # nodeSelectorTerms:
2420 # - matchExpressions:
2421 # - key: kubernetes.io/e2e-az-name
2422 # operator: In
2423 # values:
2424 # - e2e-az1
2425 # - e2e-az2
2426 dnsConfig: {}
2427 # nameservers:
2428 # - 1.2.3.4
2429 # searches:
2430 # - ns1.svc.cluster-domain.example
2431 # - my.dns.search.suffix
2432 # options:
2433 # - name: ndots
2434 # value: "2"
2435 # - name: edns0
2436 securityContext:
2437 fsGroup: 65534
2438 runAsGroup: 65534
2439 runAsNonRoot: true
2440 runAsUser: 65534
2441 seccompProfile:
2442 type: RuntimeDefault
2443
2444 ## Container-specific security context configuration
2445 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2446 ##
2447 containerSecurityContext:
2448 allowPrivilegeEscalation: false
2449 readOnlyRootFilesystem: true
2450 capabilities:
2451 drop:
2452 - ALL
2453
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002454 ## If false then the user will opt out of automounting API credentials.
2455 ##
2456 automountServiceAccountToken: true
2457
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002458 patch:
2459 enabled: true
2460 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002461 registry: registry.k8s.io
2462 repository: ingress-nginx/kube-webhook-certgen
2463 tag: v20221220-controller-v1.5.1-58-g787ea74b6
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002464 sha: ""
2465 pullPolicy: IfNotPresent
2466 resources: {}
2467 ## Provide a priority class name to the webhook patching job
2468 ##
2469 priorityClassName: ""
Mohammed Naser7d1623e2024-06-17 09:12:39 -04002470 ttlSecondsAfterFinished: 60
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002471 annotations: {}
2472 # argocd.argoproj.io/hook: PreSync
2473 # argocd.argoproj.io/hook-delete-policy: HookSucceeded
2474 podAnnotations: {}
2475 nodeSelector: {}
2476 affinity: {}
2477 tolerations: []
2478
2479 ## SecurityContext holds pod-level security attributes and common container settings.
2480 ## This defaults to non root user with uid 2000 and gid 2000. *v1.PodSecurityContext false
2481 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2482 ##
2483 securityContext:
2484 runAsGroup: 2000
2485 runAsNonRoot: true
2486 runAsUser: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002487 seccompProfile:
2488 type: RuntimeDefault
Mohammed Naser7d1623e2024-06-17 09:12:39 -04002489 ## Service account for Prometheus Operator Webhook Job Patch to use.
2490 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2491 ##
2492 serviceAccount:
2493 create: true
2494 automountServiceAccountToken: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002495
2496 # Security context for create job container
2497 createSecretJob:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002498 securityContext:
2499 allowPrivilegeEscalation: false
2500 readOnlyRootFilesystem: true
2501 capabilities:
2502 drop:
2503 - ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002504
2505 # Security context for patch job container
2506 patchWebhookJob:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002507 securityContext:
2508 allowPrivilegeEscalation: false
2509 readOnlyRootFilesystem: true
2510 capabilities:
2511 drop:
2512 - ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002513
2514 # Use certmanager to generate webhook certs
2515 certManager:
2516 enabled: false
2517 # self-signed root certificate
2518 rootCert:
2519 duration: "" # default to be 5y
2520 admissionCert:
2521 duration: "" # default to be 1y
2522 # issuerRef:
2523 # name: "issuer"
2524 # kind: "ClusterIssuer"
2525
2526 ## Namespaces to scope the interaction of the Prometheus Operator and the apiserver (allow list).
2527 ## This is mutually exclusive with denyNamespaces. Setting this to an empty object will disable the configuration
2528 ##
2529 namespaces: {}
2530 # releaseNamespace: true
2531 # additional:
2532 # - kube-system
2533
2534 ## Namespaces not to scope the interaction of the Prometheus Operator (deny list).
2535 ##
2536 denyNamespaces: []
2537
2538 ## Filter namespaces to look for prometheus-operator custom resources
2539 ##
2540 alertmanagerInstanceNamespaces: []
2541 alertmanagerConfigNamespaces: []
2542 prometheusInstanceNamespaces: []
2543 thanosRulerInstanceNamespaces: []
2544
2545 ## The clusterDomain value will be added to the cluster.peer option of the alertmanager.
2546 ## Without this specified option cluster.peer will have value alertmanager-monitoring-alertmanager-0.alertmanager-operated:9094 (default value)
2547 ## With this specified option cluster.peer will have value alertmanager-monitoring-alertmanager-0.alertmanager-operated.namespace.svc.cluster-domain:9094
2548 ##
2549 # clusterDomain: "cluster.local"
2550
2551 networkPolicy:
2552 ## Enable creation of NetworkPolicy resources.
2553 ##
2554 enabled: false
2555
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002556 ## Flavor of the network policy to use.
2557 # Can be:
2558 # * kubernetes for networking.k8s.io/v1/NetworkPolicy
2559 # * cilium for cilium.io/v2/CiliumNetworkPolicy
2560 flavor: kubernetes
2561
2562 # cilium:
2563 # egress:
2564
2565 ## match labels used in selector
2566 # matchLabels: {}
2567
2568 ## Service account for Prometheus Operator to use.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002569 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2570 ##
2571 serviceAccount:
2572 create: true
2573 name: ""
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002574 automountServiceAccountToken: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002575
2576 ## Configuration for Prometheus operator service
2577 ##
2578 service:
2579 annotations: {}
2580 labels: {}
2581 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04002582 ipDualStack:
2583 enabled: false
2584 ipFamilies: ["IPv6", "IPv4"]
2585 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002586
2587 ## Port to expose on each node
2588 ## Only used if service.type is 'NodePort'
2589 ##
2590 nodePort: 30080
2591
2592 nodePortTls: 30443
2593
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002594 ## Additional ports to open for Prometheus operator service
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002595 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
2596 ##
2597 additionalPorts: []
2598
2599 ## Loadbalancer IP
2600 ## Only use if service.type is "LoadBalancer"
2601 ##
2602 loadBalancerIP: ""
2603 loadBalancerSourceRanges: []
2604
2605 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2606 ##
2607 externalTrafficPolicy: Cluster
2608
2609 ## Service type
2610 ## NodePort, ClusterIP, LoadBalancer
2611 ##
2612 type: ClusterIP
2613
2614 ## List of IP addresses at which the Prometheus server service is available
2615 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
2616 ##
2617 externalIPs: []
2618
2619 # ## Labels to add to the operator deployment
2620 # ##
2621 labels: {}
2622
2623 ## Annotations to add to the operator deployment
2624 ##
2625 annotations: {}
2626
2627 ## Labels to add to the operator pod
2628 ##
2629 podLabels: {}
2630
2631 ## Annotations to add to the operator pod
2632 ##
2633 podAnnotations: {}
2634
2635 ## Assign a PriorityClassName to pods if set
2636 # priorityClassName: ""
2637
2638 ## Define Log Format
2639 # Use logfmt (default) or json logging
2640 # logFormat: logfmt
2641
2642 ## Decrease log verbosity to errors only
2643 # logLevel: error
2644
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002645 kubeletService:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002646 ## If true, the operator will create and maintain a service for scraping kubelets
2647 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/helm/prometheus-operator/README.md
2648 ##
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002649 enabled: true
2650 namespace: kube-system
Mohammed Naser7d1623e2024-06-17 09:12:39 -04002651 selector: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002652 ## Use '{{ template "kube-prometheus-stack.fullname" . }}-kubelet' by default
2653 name: ""
2654
2655 ## Create a servicemonitor for the operator
2656 ##
2657 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002658 ## If true, create a serviceMonitor for prometheus operator
2659 ##
2660 selfMonitor: true
2661
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002662 ## Labels for ServiceMonitor
2663 additionalLabels: {}
2664
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002665 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
2666 ##
2667 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002668
2669 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
2670 ##
2671 sampleLimit: 0
2672
2673 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
2674 ##
2675 targetLimit: 0
2676
2677 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2678 ##
2679 labelLimit: 0
2680
2681 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2682 ##
2683 labelNameLengthLimit: 0
2684
2685 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2686 ##
2687 labelValueLengthLimit: 0
2688
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002689 ## Scrape timeout. If not set, the Prometheus default scrape timeout is used.
2690 scrapeTimeout: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002691
2692 ## Metric relabel configs to apply to samples before ingestion.
2693 ##
2694 metricRelabelings: []
2695 # - action: keep
2696 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
2697 # sourceLabels: [__name__]
2698
2699 # relabel configs to apply to samples before ingestion.
2700 ##
2701 relabelings: []
2702 # - sourceLabels: [__meta_kubernetes_pod_node_name]
2703 # separator: ;
2704 # regex: ^(.*)$
2705 # targetLabel: nodename
2706 # replacement: $1
2707 # action: replace
2708
2709 ## Resource limits & requests
2710 ##
2711 resources: {}
2712 # limits:
2713 # cpu: 200m
2714 # memory: 200Mi
2715 # requests:
2716 # cpu: 100m
2717 # memory: 100Mi
2718
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002719 ## Operator Environment
2720 ## env:
2721 ## VARIABLE: value
2722 env:
2723 GOGC: "30"
2724
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002725 # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
2726 # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
2727 ##
2728 hostNetwork: false
2729
2730 ## Define which Nodes the Pods are scheduled on.
2731 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
2732 ##
2733 nodeSelector: {}
2734
2735 ## Tolerations for use with node taints
2736 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2737 ##
2738 tolerations: []
2739 # - key: "key"
2740 # operator: "Equal"
2741 # value: "value"
2742 # effect: "NoSchedule"
2743
2744 ## Assign custom affinity rules to the prometheus operator
2745 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
2746 ##
2747 affinity: {}
2748 # nodeAffinity:
2749 # requiredDuringSchedulingIgnoredDuringExecution:
2750 # nodeSelectorTerms:
2751 # - matchExpressions:
2752 # - key: kubernetes.io/e2e-az-name
2753 # operator: In
2754 # values:
2755 # - e2e-az1
2756 # - e2e-az2
2757 dnsConfig: {}
2758 # nameservers:
2759 # - 1.2.3.4
2760 # searches:
2761 # - ns1.svc.cluster-domain.example
2762 # - my.dns.search.suffix
2763 # options:
2764 # - name: ndots
2765 # value: "2"
2766 # - name: edns0
2767 securityContext:
2768 fsGroup: 65534
2769 runAsGroup: 65534
2770 runAsNonRoot: true
2771 runAsUser: 65534
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002772 seccompProfile:
2773 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002774
2775 ## Container-specific security context configuration
2776 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2777 ##
2778 containerSecurityContext:
2779 allowPrivilegeEscalation: false
2780 readOnlyRootFilesystem: true
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002781 capabilities:
2782 drop:
2783 - ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002784
2785 # Enable vertical pod autoscaler support for prometheus-operator
2786 verticalPodAutoscaler:
2787 enabled: false
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002788
2789 # Recommender responsible for generating recommendation for the object.
2790 # List should be empty (then the default recommender will generate the recommendation)
2791 # or contain exactly one recommender.
2792 # recommenders:
2793 # - name: custom-recommender-performance
2794
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002795 # List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
2796 controlledResources: []
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002797 # Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
2798 # controlledValues: RequestsAndLimits
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002799
2800 # Define the max allowed resources for the pod
2801 maxAllowed: {}
2802 # cpu: 200m
2803 # memory: 100Mi
2804 # Define the min allowed resources for the pod
2805 minAllowed: {}
2806 # cpu: 200m
2807 # memory: 100Mi
2808
2809 updatePolicy:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002810 # Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
2811 # minReplicas: 1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002812 # Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
2813 # are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
2814 updateMode: Auto
2815
2816 ## Prometheus-operator image
2817 ##
2818 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002819 registry: quay.io
2820 repository: prometheus-operator/prometheus-operator
2821 # if not set appVersion field from Chart.yaml is used
2822 tag: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002823 sha: ""
2824 pullPolicy: IfNotPresent
2825
2826 ## Prometheus image to use for prometheuses managed by the operator
2827 ##
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002828 # prometheusDefaultBaseImage: prometheus/prometheus
2829
2830 ## Prometheus image registry to use for prometheuses managed by the operator
2831 ##
2832 # prometheusDefaultBaseImageRegistry: quay.io
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002833
2834 ## Alertmanager image to use for alertmanagers managed by the operator
2835 ##
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002836 # alertmanagerDefaultBaseImage: prometheus/alertmanager
2837
2838 ## Alertmanager image registry to use for alertmanagers managed by the operator
2839 ##
2840 # alertmanagerDefaultBaseImageRegistry: quay.io
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002841
2842 ## Prometheus-config-reloader
2843 ##
2844 prometheusConfigReloader:
2845 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002846 registry: quay.io
2847 repository: prometheus-operator/prometheus-config-reloader
2848 # if not set appVersion field from Chart.yaml is used
2849 tag: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002850 sha: ""
2851
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002852 # add prometheus config reloader liveness and readiness probe. Default: false
2853 enableProbe: false
2854
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002855 # resource config for prometheusConfigReloader
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002856 resources: {}
2857 # requests:
2858 # cpu: 200m
2859 # memory: 50Mi
2860 # limits:
2861 # cpu: 200m
2862 # memory: 50Mi
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002863
2864 ## Thanos side-car image when configured
2865 ##
2866 thanosImage:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002867 registry: quay.io
2868 repository: thanos/thanos
Mohammed Naser7d1623e2024-06-17 09:12:39 -04002869 tag: v0.35.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002870 sha: ""
2871
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002872 ## Set a Label Selector to filter watched prometheus and prometheusAgent
2873 ##
2874 prometheusInstanceSelector: ""
2875
2876 ## Set a Label Selector to filter watched alertmanager
2877 ##
2878 alertmanagerInstanceSelector: ""
2879
2880 ## Set a Label Selector to filter watched thanosRuler
2881 thanosRulerInstanceSelector: ""
2882
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002883 ## Set a Field Selector to filter watched secrets
2884 ##
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002885 secretFieldSelector: "type!=kubernetes.io/dockercfg,type!=kubernetes.io/service-account-token,type!=helm.sh/release.v1"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002886
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002887 ## If false then the user will opt out of automounting API credentials.
2888 ##
2889 automountServiceAccountToken: true
2890
2891 ## Additional volumes
2892 ##
2893 extraVolumes: []
2894
2895 ## Additional volume mounts
2896 ##
2897 extraVolumeMounts: []
2898
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002899## Deploy a Prometheus instance
2900##
2901prometheus:
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002902 enabled: true
2903
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002904 ## Toggle prometheus into agent mode
2905 ## Note many of features described below (e.g. rules, query, alerting, remote read, thanos) will not work in agent mode.
2906 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/designs/prometheus-agent.md
2907 ##
2908 agentMode: false
2909
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002910 ## Annotations for Prometheus
2911 ##
2912 annotations: {}
2913
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002914 ## Configure network policy for the prometheus
2915 networkPolicy:
2916 enabled: false
2917
2918 ## Flavor of the network policy to use.
2919 # Can be:
2920 # * kubernetes for networking.k8s.io/v1/NetworkPolicy
2921 # * cilium for cilium.io/v2/CiliumNetworkPolicy
2922 flavor: kubernetes
2923
2924 # cilium:
2925 # endpointSelector:
2926 # egress:
2927 # ingress:
2928
2929 # egress:
2930 # - {}
2931 # ingress:
2932 # - {}
2933 # podSelector:
2934 # matchLabels:
2935 # app: prometheus
2936
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002937 ## Service account for Prometheuses to use.
2938 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2939 ##
2940 serviceAccount:
2941 create: true
2942 name: ""
2943 annotations: {}
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002944 automountServiceAccountToken: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002945
2946 # Service for thanos service discovery on sidecar
2947 # Enable this can make Thanos Query can use
2948 # `--store=dnssrv+_grpc._tcp.${kube-prometheus-stack.fullname}-thanos-discovery.${namespace}.svc.cluster.local` to discovery
2949 # Thanos sidecar on prometheus nodes
2950 # (Please remember to change ${kube-prometheus-stack.fullname} and ${namespace}. Not just copy and paste!)
2951 thanosService:
2952 enabled: false
2953 annotations: {}
2954 labels: {}
2955
2956 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2957 ##
2958 externalTrafficPolicy: Cluster
2959
2960 ## Service type
2961 ##
2962 type: ClusterIP
2963
Mohammed Naser65cda132024-05-02 14:34:08 -04002964 ## Service dual stack
2965 ##
2966 ipDualStack:
2967 enabled: false
2968 ipFamilies: ["IPv6", "IPv4"]
2969 ipFamilyPolicy: "PreferDualStack"
2970
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002971 ## gRPC port config
2972 portName: grpc
2973 port: 10901
2974 targetPort: "grpc"
2975
2976 ## HTTP port config (for metrics)
2977 httpPortName: http
2978 httpPort: 10902
2979 targetHttpPort: "http"
2980
2981 ## ClusterIP to assign
2982 # Default is to make this a headless service ("None")
2983 clusterIP: "None"
2984
2985 ## Port to expose on each node, if service type is NodePort
2986 ##
2987 nodePort: 30901
2988 httpNodePort: 30902
2989
2990 # ServiceMonitor to scrape Sidecar metrics
2991 # Needs thanosService to be enabled as well
2992 thanosServiceMonitor:
2993 enabled: false
2994 interval: ""
2995
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002996 ## Additional labels
2997 ##
2998 additionalLabels: {}
2999
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003000 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
3001 scheme: ""
3002
3003 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
3004 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
3005 tlsConfig: {}
3006
3007 bearerTokenFile:
3008
3009 ## Metric relabel configs to apply to samples before ingestion.
3010 metricRelabelings: []
3011
3012 ## relabel configs to apply to samples before ingestion.
3013 relabelings: []
3014
3015 # Service for external access to sidecar
3016 # Enabling this creates a service to expose thanos-sidecar outside the cluster.
3017 thanosServiceExternal:
3018 enabled: false
3019 annotations: {}
3020 labels: {}
3021 loadBalancerIP: ""
3022 loadBalancerSourceRanges: []
3023
3024 ## gRPC port config
3025 portName: grpc
3026 port: 10901
3027 targetPort: "grpc"
3028
3029 ## HTTP port config (for metrics)
3030 httpPortName: http
3031 httpPort: 10902
3032 targetHttpPort: "http"
3033
3034 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3035 ##
3036 externalTrafficPolicy: Cluster
3037
3038 ## Service type
3039 ##
3040 type: LoadBalancer
3041
3042 ## Port to expose on each node
3043 ##
3044 nodePort: 30901
3045 httpNodePort: 30902
3046
3047 ## Configuration for Prometheus service
3048 ##
3049 service:
3050 annotations: {}
3051 labels: {}
3052 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04003053 ipDualStack:
3054 enabled: false
3055 ipFamilies: ["IPv6", "IPv4"]
3056 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003057
3058 ## Port for Prometheus Service to listen on
3059 ##
3060 port: 9090
3061
3062 ## To be used with a proxy extraContainer port
3063 targetPort: 9090
3064
Giovanni Tirloni59219b62024-04-09 14:50:25 -03003065 ## Port for Prometheus Reloader to listen on
3066 ##
3067 reloaderWebPort: 8080
3068
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003069 ## List of IP addresses at which the Prometheus server service is available
3070 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
3071 ##
3072 externalIPs: []
3073
3074 ## Port to expose on each node
3075 ## Only used if service.type is 'NodePort'
3076 ##
3077 nodePort: 30090
3078
3079 ## Loadbalancer IP
3080 ## Only use if service.type is "LoadBalancer"
3081 loadBalancerIP: ""
3082 loadBalancerSourceRanges: []
3083
3084 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3085 ##
3086 externalTrafficPolicy: Cluster
3087
3088 ## Service type
3089 ##
3090 type: ClusterIP
3091
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003092 ## Additional ports to open for Prometheus service
3093 ##
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003094 additionalPorts: []
3095 # additionalPorts:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003096 # - name: oauth-proxy
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003097 # port: 8081
3098 # targetPort: 8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003099 # - name: oauth-metrics
3100 # port: 8082
3101 # targetPort: 8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003102
3103 ## Consider that all endpoints are considered "ready" even if the Pods themselves are not
3104 ## Ref: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec
3105 publishNotReadyAddresses: false
3106
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003107 ## If you want to make sure that connections from a particular client are passed to the same Pod each time
3108 ## Accepts 'ClientIP' or 'None'
3109 ##
3110 sessionAffinity: None
3111
3112 ## If you want to modify the ClientIP sessionAffinity timeout
3113 ## The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP"
3114 ##
3115 sessionAffinityConfig:
3116 clientIP:
3117 timeoutSeconds: 10800
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003118
3119 ## Configuration for creating a separate Service for each statefulset Prometheus replica
3120 ##
3121 servicePerReplica:
3122 enabled: false
3123 annotations: {}
3124
3125 ## Port for Prometheus Service per replica to listen on
3126 ##
3127 port: 9090
3128
3129 ## To be used with a proxy extraContainer port
3130 targetPort: 9090
3131
3132 ## Port to expose on each node
3133 ## Only used if servicePerReplica.type is 'NodePort'
3134 ##
3135 nodePort: 30091
3136
3137 ## Loadbalancer source IP ranges
3138 ## Only used if servicePerReplica.type is "LoadBalancer"
3139 loadBalancerSourceRanges: []
3140
3141 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3142 ##
3143 externalTrafficPolicy: Cluster
3144
3145 ## Service type
3146 ##
3147 type: ClusterIP
3148
Mohammed Naser65cda132024-05-02 14:34:08 -04003149 ## Service dual stack
3150 ##
3151 ipDualStack:
3152 enabled: false
3153 ipFamilies: ["IPv6", "IPv4"]
3154 ipFamilyPolicy: "PreferDualStack"
3155
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003156 ## Configure pod disruption budgets for Prometheus
3157 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003158 ##
3159 podDisruptionBudget:
3160 enabled: false
3161 minAvailable: 1
3162 maxUnavailable: ""
3163
3164 # Ingress exposes thanos sidecar outside the cluster
3165 thanosIngress:
3166 enabled: false
3167
3168 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
3169 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
3170 # ingressClassName: nginx
3171
3172 annotations: {}
3173 labels: {}
3174 servicePort: 10901
3175
3176 ## Port to expose on each node
3177 ## Only used if service.type is 'NodePort'
3178 ##
3179 nodePort: 30901
3180
3181 ## Hosts must be provided if Ingress is enabled.
3182 ##
3183 hosts: []
3184 # - thanos-gateway.domain.com
3185
3186 ## Paths to use for ingress rules
3187 ##
3188 paths: []
3189 # - /
3190
3191 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
3192 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
3193 # pathType: ImplementationSpecific
3194
3195 ## TLS configuration for Thanos Ingress
3196 ## Secret must be manually created in the namespace
3197 ##
3198 tls: []
3199 # - secretName: thanos-gateway-tls
3200 # hosts:
3201 # - thanos-gateway.domain.com
3202 #
3203
3204 ## ExtraSecret can be used to store various data in an extra secret
3205 ## (use it for example to store hashed basic auth credentials)
3206 extraSecret:
3207 ## if not set, name will be auto generated
3208 # name: ""
3209 annotations: {}
3210 data: {}
3211 # auth: |
3212 # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
3213 # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
3214
3215 ingress:
3216 enabled: false
3217
3218 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
3219 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
3220 # ingressClassName: nginx
3221
3222 annotations: {}
3223 labels: {}
3224
3225 ## Redirect ingress to an additional defined port on the service
3226 # servicePort: 8081
3227
3228 ## Hostnames.
3229 ## Must be provided if Ingress is enabled.
3230 ##
3231 # hosts:
3232 # - prometheus.domain.com
3233 hosts: []
3234
3235 ## Paths to use for ingress rules - one path should match the prometheusSpec.routePrefix
3236 ##
3237 paths: []
3238 # - /
3239
3240 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
3241 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
3242 # pathType: ImplementationSpecific
3243
3244 ## TLS configuration for Prometheus Ingress
3245 ## Secret must be manually created in the namespace
3246 ##
3247 tls: []
3248 # - secretName: prometheus-general-tls
3249 # hosts:
3250 # - prometheus.example.com
3251
3252 ## Configuration for creating an Ingress that will map to each Prometheus replica service
3253 ## prometheus.servicePerReplica must be enabled
3254 ##
3255 ingressPerReplica:
3256 enabled: false
3257
3258 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
3259 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
3260 # ingressClassName: nginx
3261
3262 annotations: {}
3263 labels: {}
3264
3265 ## Final form of the hostname for each per replica ingress is
3266 ## {{ ingressPerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ ingressPerReplica.hostDomain }}
3267 ##
3268 ## Prefix for the per replica ingress that will have `-$replicaNumber`
3269 ## appended to the end
3270 hostPrefix: ""
3271 ## Domain that will be used for the per replica ingress
3272 hostDomain: ""
3273
3274 ## Paths to use for ingress rules
3275 ##
3276 paths: []
3277 # - /
3278
3279 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
3280 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
3281 # pathType: ImplementationSpecific
3282
3283 ## Secret name containing the TLS certificate for Prometheus per replica ingress
3284 ## Secret must be manually created in the namespace
3285 tlsSecretName: ""
3286
3287 ## Separated secret for each per replica Ingress. Can be used together with cert-manager
3288 ##
3289 tlsSecretPerReplica:
3290 enabled: false
3291 ## Final form of the secret for each per replica ingress is
3292 ## {{ tlsSecretPerReplica.prefix }}-{{ $replicaNumber }}
3293 ##
3294 prefix: "prometheus"
3295
3296 ## Configure additional options for default pod security policy for Prometheus
3297 ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
3298 podSecurityPolicy:
3299 allowedCapabilities: []
3300 allowedHostPaths: []
3301 volumes: []
3302
3303 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03003304 ## If true, create a serviceMonitor for prometheus
3305 ##
3306 selfMonitor: true
3307
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003308 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
3309 ##
3310 interval: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003311
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003312 ## Additional labels
3313 ##
3314 additionalLabels: {}
3315
3316 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
3317 ##
3318 sampleLimit: 0
3319
3320 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
3321 ##
3322 targetLimit: 0
3323
3324 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
3325 ##
3326 labelLimit: 0
3327
3328 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
3329 ##
3330 labelNameLengthLimit: 0
3331
3332 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
3333 ##
3334 labelValueLengthLimit: 0
3335
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003336 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
3337 scheme: ""
3338
3339 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
3340 ## Of type: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
3341 tlsConfig: {}
3342
3343 bearerTokenFile:
3344
3345 ## Metric relabel configs to apply to samples before ingestion.
3346 ##
3347 metricRelabelings: []
3348 # - action: keep
3349 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
3350 # sourceLabels: [__name__]
3351
3352 # relabel configs to apply to samples before ingestion.
3353 ##
3354 relabelings: []
3355 # - sourceLabels: [__meta_kubernetes_pod_node_name]
3356 # separator: ;
3357 # regex: ^(.*)$
3358 # targetLabel: nodename
3359 # replacement: $1
3360 # action: replace
3361
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003362 ## Additional Endpoints
3363 ##
3364 additionalEndpoints: []
3365 # - port: oauth-metrics
3366 # path: /metrics
3367
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003368 ## Settings affecting prometheusSpec
3369 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheusspec
3370 ##
3371 prometheusSpec:
Mohammed Naser7d1623e2024-06-17 09:12:39 -04003372 ## Statefulset's persistent volume claim retention policy
3373 ## pvcDeleteOnStsDelete and pvcDeleteOnStsScale determine whether
3374 ## statefulset's PVCs are deleted (true) or retained (false) on scaling down
3375 ## and deleting statefulset, respectively. Requires 1.27.0+.
3376 ## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
3377 persistentVolumeClaimRetentionPolicy: {}
3378 # whenDeleted: Retain
3379 # whenScaled: Retain
3380
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003381 ## If true, pass --storage.tsdb.max-block-duration=2h to prometheus. This is already done if using Thanos
3382 ##
3383 disableCompaction: false
3384 ## APIServerConfig
3385 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#apiserverconfig
3386 ##
3387 apiserverConfig: {}
3388
3389 ## Allows setting additional arguments for the Prometheus container
3390 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.Prometheus
3391 additionalArgs: []
3392
3393 ## Interval between consecutive scrapes.
3394 ## Defaults to 30s.
3395 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/release-0.44/pkg/prometheus/promcfg.go#L180-L183
3396 ##
3397 scrapeInterval: ""
3398
3399 ## Number of seconds to wait for target to respond before erroring
3400 ##
3401 scrapeTimeout: ""
3402
3403 ## Interval between consecutive evaluations.
3404 ##
3405 evaluationInterval: ""
3406
3407 ## ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP.
3408 ##
3409 listenLocal: false
3410
3411 ## EnableAdminAPI enables Prometheus the administrative HTTP API which includes functionality such as deleting time series.
3412 ## This is disabled by default.
3413 ## ref: https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
3414 ##
3415 enableAdminAPI: false
3416
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003417 ## Sets version of Prometheus overriding the Prometheus version as derived
3418 ## from the image tag. Useful in cases where the tag does not follow semver v2.
3419 version: ""
3420
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003421 ## WebTLSConfig defines the TLS parameters for HTTPS
3422 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#webtlsconfig
3423 web: {}
3424
3425 ## Exemplars related settings that are runtime reloadable.
3426 ## It requires to enable the exemplar storage feature to be effective.
3427 exemplars: ""
3428 ## Maximum number of exemplars stored in memory for all series.
3429 ## If not set, Prometheus uses its default value.
3430 ## A value of zero or less than zero disables the storage.
3431 # maxSize: 100000
3432
3433 # EnableFeatures API enables access to Prometheus disabled features.
3434 # ref: https://prometheus.io/docs/prometheus/latest/disabled_features/
3435 enableFeatures: []
3436 # - exemplar-storage
3437
3438 ## Image of Prometheus.
3439 ##
3440 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003441 registry: quay.io
3442 repository: prometheus/prometheus
Mohammed Naser7d1623e2024-06-17 09:12:39 -04003443 tag: v2.52.0
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003444 sha: ""
3445
3446 ## Tolerations for use with node taints
3447 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3448 ##
3449 tolerations: []
3450 # - key: "key"
3451 # operator: "Equal"
3452 # value: "value"
3453 # effect: "NoSchedule"
3454
3455 ## If specified, the pod's topology spread constraints.
3456 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
3457 ##
3458 topologySpreadConstraints: []
3459 # - maxSkew: 1
3460 # topologyKey: topology.kubernetes.io/zone
3461 # whenUnsatisfiable: DoNotSchedule
3462 # labelSelector:
3463 # matchLabels:
3464 # app: prometheus
3465
3466 ## Alertmanagers to which alerts will be sent
3467 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerendpoints
3468 ##
3469 ## Default configuration will connect to the alertmanager deployed as part of this release
3470 ##
3471 alertingEndpoints: []
3472 # - name: ""
3473 # namespace: ""
3474 # port: http
3475 # scheme: http
3476 # pathPrefix: ""
3477 # tlsConfig: {}
3478 # bearerTokenFile: ""
3479 # apiVersion: v2
3480
3481 ## External labels to add to any time series or alerts when communicating with external systems
3482 ##
3483 externalLabels: {}
3484
3485 ## enable --web.enable-remote-write-receiver flag on prometheus-server
3486 ##
3487 enableRemoteWriteReceiver: false
3488
3489 ## Name of the external label used to denote replica name
3490 ##
3491 replicaExternalLabelName: ""
3492
3493 ## If true, the Operator won't add the external label used to denote replica name
3494 ##
3495 replicaExternalLabelNameClear: false
3496
3497 ## Name of the external label used to denote Prometheus instance name
3498 ##
3499 prometheusExternalLabelName: ""
3500
3501 ## If true, the Operator won't add the external label used to denote Prometheus instance name
3502 ##
3503 prometheusExternalLabelNameClear: false
3504
3505 ## External URL at which Prometheus will be reachable.
3506 ##
3507 externalUrl: ""
3508
3509 ## Define which Nodes the Pods are scheduled on.
3510 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
3511 ##
3512 nodeSelector: {}
3513
3514 ## Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
3515 ## The Secrets are mounted into /etc/prometheus/secrets/. Secrets changes after initial creation of a Prometheus object are not
3516 ## reflected in the running Pods. To change the secrets mounted into the Prometheus Pods, the object must be deleted and recreated
3517 ## with the new list of secrets.
3518 ##
3519 secrets: []
3520
3521 ## ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
3522 ## The ConfigMaps are mounted into /etc/prometheus/configmaps/.
3523 ##
3524 configMaps: []
3525
3526 ## QuerySpec defines the query command line flags when starting Prometheus.
3527 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#queryspec
3528 ##
3529 query: {}
3530
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003531 ## If nil, select own namespace. Namespaces to be selected for PrometheusRules discovery.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003532 ruleNamespaceSelector: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003533 ## Example which selects PrometheusRules in namespaces with label "prometheus" set to "somelabel"
3534 # ruleNamespaceSelector:
3535 # matchLabels:
3536 # prometheus: somelabel
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003537
3538 ## If true, a nil or {} value for prometheus.prometheusSpec.ruleSelector will cause the
3539 ## prometheus resource to be created with selectors based on values in the helm deployment,
3540 ## which will also match the PrometheusRule resources created
3541 ##
3542 ruleSelectorNilUsesHelmValues: true
3543
3544 ## PrometheusRules to be selected for target discovery.
3545 ## If {}, select all PrometheusRules
3546 ##
3547 ruleSelector: {}
3548 ## Example which select all PrometheusRules resources
3549 ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
3550 # ruleSelector:
3551 # matchExpressions:
3552 # - key: prometheus
3553 # operator: In
3554 # values:
3555 # - example-rules
3556 # - example-rules-2
3557 #
3558 ## Example which select all PrometheusRules resources with label "role" set to "example-rules"
3559 # ruleSelector:
3560 # matchLabels:
3561 # role: example-rules
3562
3563 ## If true, a nil or {} value for prometheus.prometheusSpec.serviceMonitorSelector will cause the
3564 ## prometheus resource to be created with selectors based on values in the helm deployment,
3565 ## which will also match the servicemonitors created
3566 ##
3567 serviceMonitorSelectorNilUsesHelmValues: true
3568
3569 ## ServiceMonitors to be selected for target discovery.
3570 ## If {}, select all ServiceMonitors
3571 ##
3572 serviceMonitorSelector: {}
3573 ## Example which selects ServiceMonitors with label "prometheus" set to "somelabel"
3574 # serviceMonitorSelector:
3575 # matchLabels:
3576 # prometheus: somelabel
3577
3578 ## Namespaces to be selected for ServiceMonitor discovery.
3579 ##
3580 serviceMonitorNamespaceSelector: {}
3581 ## Example which selects ServiceMonitors in namespaces with label "prometheus" set to "somelabel"
3582 # serviceMonitorNamespaceSelector:
3583 # matchLabels:
3584 # prometheus: somelabel
3585
3586 ## If true, a nil or {} value for prometheus.prometheusSpec.podMonitorSelector will cause the
3587 ## prometheus resource to be created with selectors based on values in the helm deployment,
3588 ## which will also match the podmonitors created
3589 ##
3590 podMonitorSelectorNilUsesHelmValues: true
3591
3592 ## PodMonitors to be selected for target discovery.
3593 ## If {}, select all PodMonitors
3594 ##
3595 podMonitorSelector: {}
3596 ## Example which selects PodMonitors with label "prometheus" set to "somelabel"
3597 # podMonitorSelector:
3598 # matchLabels:
3599 # prometheus: somelabel
3600
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003601 ## If nil, select own namespace. Namespaces to be selected for PodMonitor discovery.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003602 podMonitorNamespaceSelector: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003603 ## Example which selects PodMonitor in namespaces with label "prometheus" set to "somelabel"
3604 # podMonitorNamespaceSelector:
3605 # matchLabels:
3606 # prometheus: somelabel
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003607
3608 ## If true, a nil or {} value for prometheus.prometheusSpec.probeSelector will cause the
3609 ## prometheus resource to be created with selectors based on values in the helm deployment,
3610 ## which will also match the probes created
3611 ##
3612 probeSelectorNilUsesHelmValues: true
3613
3614 ## Probes to be selected for target discovery.
3615 ## If {}, select all Probes
3616 ##
3617 probeSelector: {}
3618 ## Example which selects Probes with label "prometheus" set to "somelabel"
3619 # probeSelector:
3620 # matchLabels:
3621 # prometheus: somelabel
3622
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003623 ## If nil, select own namespace. Namespaces to be selected for Probe discovery.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003624 probeNamespaceSelector: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003625 ## Example which selects Probe in namespaces with label "prometheus" set to "somelabel"
3626 # probeNamespaceSelector:
3627 # matchLabels:
3628 # prometheus: somelabel
3629
3630 ## If true, a nil or {} value for prometheus.prometheusSpec.scrapeConfigSelector will cause the
3631 ## prometheus resource to be created with selectors based on values in the helm deployment,
3632 ## which will also match the scrapeConfigs created
3633 ##
3634 scrapeConfigSelectorNilUsesHelmValues: true
3635
3636 ## scrapeConfigs to be selected for target discovery.
3637 ## If {}, select all scrapeConfigs
3638 ##
3639 scrapeConfigSelector: {}
3640 ## Example which selects scrapeConfigs with label "prometheus" set to "somelabel"
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003641 # scrapeConfigSelector:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003642 # matchLabels:
3643 # prometheus: somelabel
3644
3645 ## If nil, select own namespace. Namespaces to be selected for scrapeConfig discovery.
3646 scrapeConfigNamespaceSelector: {}
3647 ## Example which selects scrapeConfig in namespaces with label "prometheus" set to "somelabel"
3648 # scrapeConfigNamespaceSelector:
3649 # matchLabels:
3650 # prometheus: somelabel
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003651
3652 ## How long to retain metrics
3653 ##
3654 retention: 10d
3655
3656 ## Maximum size of metrics
3657 ##
3658 retentionSize: ""
3659
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003660 ## Allow out-of-order/out-of-bounds samples ingested into Prometheus for a specified duration
3661 ## See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#tsdb
3662 tsdb:
3663 outOfOrderTimeWindow: 0s
3664
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003665 ## Enable compression of the write-ahead log using Snappy.
3666 ##
3667 walCompression: true
3668
3669 ## If true, the Operator won't process any Prometheus configuration changes
3670 ##
3671 paused: false
3672
3673 ## Number of replicas of each shard to deploy for a Prometheus deployment.
3674 ## Number of replicas multiplied by shards is the total number of Pods created.
3675 ##
3676 replicas: 1
3677
3678 ## EXPERIMENTAL: Number of shards to distribute targets onto.
3679 ## Number of replicas multiplied by shards is the total number of Pods created.
3680 ## Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved.
3681 ## Increasing shards will not reshard data either but it will continue to be available from the same instances.
3682 ## To query globally use Thanos sidecar and Thanos querier or remote write data to a central location.
3683 ## Sharding is done on the content of the `__address__` target meta-label.
3684 ##
3685 shards: 1
3686
3687 ## Log level for Prometheus be configured in
3688 ##
3689 logLevel: info
3690
3691 ## Log format for Prometheus be configured in
3692 ##
3693 logFormat: logfmt
3694
3695 ## Prefix used to register routes, overriding externalUrl route.
3696 ## Useful for proxies that rewrite URLs.
3697 ##
3698 routePrefix: /
3699
3700 ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
3701 ## Metadata Labels and Annotations gets propagated to the prometheus pods.
3702 ##
3703 podMetadata: {}
3704 # labels:
3705 # app: prometheus
3706 # k8s-app: prometheus
3707
3708 ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
3709 ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
3710 ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
3711 ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
3712 podAntiAffinity: ""
3713
3714 ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
3715 ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
3716 ##
3717 podAntiAffinityTopologyKey: kubernetes.io/hostname
3718
3719 ## Assign custom affinity rules to the prometheus instance
3720 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
3721 ##
3722 affinity: {}
3723 # nodeAffinity:
3724 # requiredDuringSchedulingIgnoredDuringExecution:
3725 # nodeSelectorTerms:
3726 # - matchExpressions:
3727 # - key: kubernetes.io/e2e-az-name
3728 # operator: In
3729 # values:
3730 # - e2e-az1
3731 # - e2e-az2
3732
3733 ## The remote_read spec configuration for Prometheus.
3734 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotereadspec
3735 remoteRead: []
3736 # - url: http://remote1/read
3737 ## additionalRemoteRead is appended to remoteRead
3738 additionalRemoteRead: []
3739
3740 ## The remote_write spec configuration for Prometheus.
3741 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotewritespec
3742 remoteWrite: []
3743 # - url: http://remote1/push
3744 ## additionalRemoteWrite is appended to remoteWrite
3745 additionalRemoteWrite: []
3746
3747 ## Enable/Disable Grafana dashboards provisioning for prometheus remote write feature
3748 remoteWriteDashboards: false
3749
3750 ## Resource limits & requests
3751 ##
3752 resources: {}
3753 # requests:
3754 # memory: 400Mi
3755
3756 ## Prometheus StorageSpec for persistent data
3757 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
3758 ##
3759 storageSpec: {}
3760 ## Using PersistentVolumeClaim
3761 ##
3762 # volumeClaimTemplate:
3763 # spec:
3764 # storageClassName: gluster
3765 # accessModes: ["ReadWriteOnce"]
3766 # resources:
3767 # requests:
3768 # storage: 50Gi
3769 # selector: {}
3770
3771 ## Using tmpfs volume
3772 ##
3773 # emptyDir:
3774 # medium: Memory
3775
3776 # Additional volumes on the output StatefulSet definition.
3777 volumes: []
3778
3779 # Additional VolumeMounts on the output StatefulSet definition.
3780 volumeMounts: []
3781
3782 ## AdditionalScrapeConfigs allows specifying additional Prometheus scrape configurations. Scrape configurations
3783 ## are appended to the configurations generated by the Prometheus Operator. Job configurations must have the form
3784 ## as specified in the official Prometheus documentation:
3785 ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. As scrape configs are
3786 ## appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility
3787 ## to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible
3788 ## scrape configs are going to break Prometheus after the upgrade.
3789 ## AdditionalScrapeConfigs can be defined as a list or as a templated string.
3790 ##
3791 ## The scrape configuration example below will find master nodes, provided they have the name .*mst.*, relabel the
3792 ## port to 2379 and allow etcd scraping provided it is running on all Kubernetes master nodes
3793 ##
3794 additionalScrapeConfigs: []
3795 # - job_name: kube-etcd
3796 # kubernetes_sd_configs:
3797 # - role: node
3798 # scheme: https
3799 # tls_config:
3800 # ca_file: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
3801 # cert_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client
3802 # key_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
3803 # relabel_configs:
3804 # - action: labelmap
3805 # regex: __meta_kubernetes_node_label_(.+)
3806 # - source_labels: [__address__]
3807 # action: replace
3808 # targetLabel: __address__
3809 # regex: ([^:;]+):(\d+)
3810 # replacement: ${1}:2379
3811 # - source_labels: [__meta_kubernetes_node_name]
3812 # action: keep
3813 # regex: .*mst.*
3814 # - source_labels: [__meta_kubernetes_node_name]
3815 # action: replace
3816 # targetLabel: node
3817 # regex: (.*)
3818 # replacement: ${1}
3819 # metric_relabel_configs:
3820 # - regex: (kubernetes_io_hostname|failure_domain_beta_kubernetes_io_region|beta_kubernetes_io_os|beta_kubernetes_io_arch|beta_kubernetes_io_instance_type|failure_domain_beta_kubernetes_io_zone)
3821 # action: labeldrop
3822 #
3823 ## If scrape config contains a repetitive section, you may want to use a template.
3824 ## In the following example, you can see how to define `gce_sd_configs` for multiple zones
3825 # additionalScrapeConfigs: |
3826 # - job_name: "node-exporter"
3827 # gce_sd_configs:
3828 # {{range $zone := .Values.gcp_zones}}
3829 # - project: "project1"
3830 # zone: "{{$zone}}"
3831 # port: 9100
3832 # {{end}}
3833 # relabel_configs:
3834 # ...
3835
3836
3837 ## If additional scrape configurations are already deployed in a single secret file you can use this section.
3838 ## Expected values are the secret name and key
3839 ## Cannot be used with additionalScrapeConfigs
3840 additionalScrapeConfigsSecret: {}
3841 # enabled: false
3842 # name:
3843 # key:
3844
3845 ## additionalPrometheusSecretsAnnotations allows to add annotations to the kubernetes secret. This can be useful
3846 ## when deploying via spinnaker to disable versioning on the secret, strategy.spinnaker.io/versioned: 'false'
3847 additionalPrometheusSecretsAnnotations: {}
3848
3849 ## AdditionalAlertManagerConfigs allows for manual configuration of alertmanager jobs in the form as specified
3850 ## in the official Prometheus documentation https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<alertmanager_config>.
3851 ## AlertManager configurations specified are appended to the configurations generated by the Prometheus Operator.
3852 ## As AlertManager configs are appended, the user is responsible to make sure it is valid. Note that using this
3853 ## feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release
3854 ## notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade.
3855 ##
3856 additionalAlertManagerConfigs: []
3857 # - consul_sd_configs:
3858 # - server: consul.dev.test:8500
3859 # scheme: http
3860 # datacenter: dev
3861 # tag_separator: ','
3862 # services:
3863 # - metrics-prometheus-alertmanager
3864
3865 ## If additional alertmanager configurations are already deployed in a single secret, or you want to manage
3866 ## them separately from the helm deployment, you can use this section.
3867 ## Expected values are the secret name and key
3868 ## Cannot be used with additionalAlertManagerConfigs
3869 additionalAlertManagerConfigsSecret: {}
3870 # name:
3871 # key:
3872 # optional: false
3873
3874 ## AdditionalAlertRelabelConfigs allows specifying Prometheus alert relabel configurations. Alert relabel configurations specified are appended
3875 ## to the configurations generated by the Prometheus Operator. Alert relabel configurations specified must have the form as specified in the
3876 ## official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs.
3877 ## As alert relabel configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the
3878 ## possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel
3879 ## configs are going to break Prometheus after the upgrade.
3880 ##
3881 additionalAlertRelabelConfigs: []
3882 # - separator: ;
3883 # regex: prometheus_replica
3884 # replacement: $1
3885 # action: labeldrop
3886
3887 ## If additional alert relabel configurations are already deployed in a single secret, or you want to manage
3888 ## them separately from the helm deployment, you can use this section.
3889 ## Expected values are the secret name and key
3890 ## Cannot be used with additionalAlertRelabelConfigs
3891 additionalAlertRelabelConfigsSecret: {}
3892 # name:
3893 # key:
3894
3895 ## SecurityContext holds pod-level security attributes and common container settings.
3896 ## This defaults to non root user with uid 1000 and gid 2000.
3897 ## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md
3898 ##
3899 securityContext:
3900 runAsGroup: 2000
3901 runAsNonRoot: true
3902 runAsUser: 1000
3903 fsGroup: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003904 seccompProfile:
3905 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003906
3907 ## Priority class assigned to the Pods
3908 ##
3909 priorityClassName: ""
3910
3911 ## Thanos configuration allows configuring various aspects of a Prometheus server in a Thanos environment.
3912 ## This section is experimental, it may change significantly without deprecation notice in any release.
3913 ## This is experimental and may change significantly without backward compatibility in any release.
3914 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosspec
3915 ##
3916 thanos: {}
3917 # secretProviderClass:
3918 # provider: gcp
3919 # parameters:
3920 # secrets: |
3921 # - resourceName: "projects/$PROJECT_ID/secrets/testsecret/versions/latest"
3922 # fileName: "objstore.yaml"
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003923 ## ObjectStorageConfig configures object storage in Thanos.
3924 # objectStorageConfig:
3925 # # use existing secret, if configured, objectStorageConfig.secret will not be used
3926 # existingSecret: {}
3927 # # name: ""
3928 # # key: ""
3929 # # will render objectStorageConfig secret data and configure it to be used by Thanos custom resource,
3930 # # ignored when prometheusspec.thanos.objectStorageConfig.existingSecret is set
3931 # # https://thanos.io/tip/thanos/storage.md/#s3
3932 # secret: {}
3933 # # type: S3
3934 # # config:
3935 # # bucket: ""
3936 # # endpoint: ""
3937 # # region: ""
3938 # # access_key: ""
3939 # # secret_key: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003940
3941 ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod.
3942 ## if using proxy extraContainer update targetPort with proxy container port
3943 containers: []
3944 # containers:
3945 # - name: oauth-proxy
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003946 # image: quay.io/oauth2-proxy/oauth2-proxy:v7.5.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003947 # args:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003948 # - --upstream=http://127.0.0.1:9090
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003949 # - --http-address=0.0.0.0:8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003950 # - --metrics-address=0.0.0.0:8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003951 # - ...
3952 # ports:
3953 # - containerPort: 8081
3954 # name: oauth-proxy
3955 # protocol: TCP
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003956 # - containerPort: 8082
3957 # name: oauth-metrics
3958 # protocol: TCP
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003959 # resources: {}
3960
3961 ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
3962 ## (permissions, dir tree) on mounted volumes before starting prometheus
3963 initContainers: []
3964
3965 ## PortName to use for Prometheus.
3966 ##
3967 portName: "http-web"
3968
3969 ## ArbitraryFSAccessThroughSMs configures whether configuration based on a service monitor can access arbitrary files
3970 ## on the file system of the Prometheus container e.g. bearer token files.
3971 arbitraryFSAccessThroughSMs: false
3972
3973 ## OverrideHonorLabels if set to true overrides all user configured honor_labels. If HonorLabels is set in ServiceMonitor
3974 ## or PodMonitor to true, this overrides honor_labels to false.
3975 overrideHonorLabels: false
3976
3977 ## OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs.
3978 overrideHonorTimestamps: false
3979
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003980 ## When ignoreNamespaceSelectors is set to true, namespaceSelector from all PodMonitor, ServiceMonitor and Probe objects will be ignored,
3981 ## they will only discover targets within the namespace of the PodMonitor, ServiceMonitor and Probe object,
3982 ## and servicemonitors will be installed in the default service namespace.
3983 ## Defaults to false.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003984 ignoreNamespaceSelectors: false
3985
3986 ## EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created.
3987 ## The label value will always be the namespace of the object that is being created.
3988 ## Disabled by default
3989 enforcedNamespaceLabel: ""
3990
3991 ## PrometheusRulesExcludedFromEnforce - list of prometheus rules to be excluded from enforcing of adding namespace labels.
3992 ## Works only if enforcedNamespaceLabel set to true. Make sure both ruleNamespace and ruleName are set for each pair
3993 ## Deprecated, use `excludedFromEnforcement` instead
3994 prometheusRulesExcludedFromEnforce: []
3995
3996 ## ExcludedFromEnforcement - list of object references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects
3997 ## to be excluded from enforcing a namespace label of origin.
3998 ## Works only if enforcedNamespaceLabel set to true.
3999 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#objectreference
4000 excludedFromEnforcement: []
4001
4002 ## QueryLogFile specifies the file to which PromQL queries are logged. Note that this location must be writable,
4003 ## and can be persisted using an attached volume. Alternatively, the location can be set to a stdout location such
4004 ## as /dev/stdout to log querie information to the default Prometheus log stream. This is only available in versions
4005 ## of Prometheus >= 2.16.0. For more details, see the Prometheus docs (https://prometheus.io/docs/guides/query-log/)
4006 queryLogFile: false
4007
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004008 # Use to set global sample_limit for Prometheus. This act as default SampleLimit for ServiceMonitor or/and PodMonitor.
4009 # Set to 'false' to disable global sample_limit. or set to a number to override the default value.
4010 sampleLimit: false
4011
4012 # EnforcedKeepDroppedTargetsLimit defines on the number of targets dropped by relabeling that will be kept in memory.
4013 # The value overrides any spec.keepDroppedTargets set by ServiceMonitor, PodMonitor, Probe objects unless spec.keepDroppedTargets
4014 # is greater than zero and less than spec.enforcedKeepDroppedTargets. 0 means no limit.
4015 enforcedKeepDroppedTargets: 0
4016
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004017 ## EnforcedSampleLimit defines global limit on number of scraped samples that will be accepted. This overrides any SampleLimit
4018 ## set per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the SampleLimit to keep overall
4019 ## number of samples/series under the desired limit. Note that if SampleLimit is lower that value will be taken instead.
4020 enforcedSampleLimit: false
4021
4022 ## EnforcedTargetLimit defines a global limit on the number of scraped targets. This overrides any TargetLimit set
4023 ## per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the TargetLimit to keep the overall
4024 ## number of targets under the desired limit. Note that if TargetLimit is lower, that value will be taken instead, except
4025 ## if either value is zero, in which case the non-zero value will be used. If both values are zero, no limit is enforced.
4026 enforcedTargetLimit: false
4027
4028
4029 ## Per-scrape limit on number of labels that will be accepted for a sample. If more than this number of labels are present
4030 ## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions
4031 ## 2.27.0 and newer.
4032 enforcedLabelLimit: false
4033
4034 ## Per-scrape limit on length of labels name that will be accepted for a sample. If a label name is longer than this number
4035 ## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions
4036 ## 2.27.0 and newer.
4037 enforcedLabelNameLengthLimit: false
4038
4039 ## Per-scrape limit on length of labels value that will be accepted for a sample. If a label value is longer than this
4040 ## number post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus
4041 ## versions 2.27.0 and newer.
4042 enforcedLabelValueLengthLimit: false
4043
4044 ## AllowOverlappingBlocks enables vertical compaction and vertical query merge in Prometheus. This is still experimental
4045 ## in Prometheus so it may change in any upcoming release.
4046 allowOverlappingBlocks: false
4047
4048 ## Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to
4049 ## be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).
4050 minReadySeconds: 0
4051
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004052 # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
4053 # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
4054 # Use the host's network namespace if true. Make sure to understand the security implications if you want to enable it.
4055 # When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet automatically.
4056 hostNetwork: false
4057
4058 # HostAlias holds the mapping between IP and hostnames that will be injected
4059 # as an entry in the pod’s hosts file.
4060 hostAliases: []
4061 # - ip: 10.10.0.100
4062 # hostnames:
4063 # - a1.app.local
4064 # - b1.app.local
4065
4066 ## TracingConfig configures tracing in Prometheus.
4067 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheustracingconfig
4068 tracingConfig: {}
4069
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004070 ## Additional configuration which is not covered by the properties above. (passed through tpl)
4071 additionalConfig: {}
4072
4073 ## Additional configuration which is not covered by the properties above.
4074 ## Useful, if you need advanced templating inside alertmanagerSpec.
4075 ## Otherwise, use prometheus.prometheusSpec.additionalConfig (passed through tpl)
4076 additionalConfigString: ""
4077
4078 ## Defines the maximum time that the `prometheus` container's startup probe
4079 ## will wait before being considered failed. The startup probe will return
4080 ## success after the WAL replay is complete. If set, the value should be
Mohammed Naser7d1623e2024-06-17 09:12:39 -04004081 ## greater than 60 (seconds). Otherwise it will be equal to 900 seconds (15
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004082 ## minutes).
4083 maximumStartupDurationSeconds: 0
4084
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004085 additionalRulesForClusterRole: []
4086 # - apiGroups: [ "" ]
4087 # resources:
4088 # - nodes/proxy
4089 # verbs: [ "get", "list", "watch" ]
4090
4091 additionalServiceMonitors: []
4092 ## Name of the ServiceMonitor to create
4093 ##
4094 # - name: ""
4095
4096 ## Additional labels to set used for the ServiceMonitorSelector. Together with standard labels from
4097 ## the chart
4098 ##
4099 # additionalLabels: {}
4100
4101 ## Service label for use in assembling a job name of the form <label value>-<port>
4102 ## If no label is specified, the service name is used.
4103 ##
4104 # jobLabel: ""
4105
4106 ## labels to transfer from the kubernetes service to the target
4107 ##
4108 # targetLabels: []
4109
4110 ## labels to transfer from the kubernetes pods to the target
4111 ##
4112 # podTargetLabels: []
4113
4114 ## Label selector for services to which this ServiceMonitor applies
4115 ##
4116 # selector: {}
4117
4118 ## Namespaces from which services are selected
4119 ##
4120 # namespaceSelector:
4121 ## Match any namespace
4122 ##
4123 # any: false
4124
4125 ## Explicit list of namespace names to select
4126 ##
4127 # matchNames: []
4128
4129 ## Endpoints of the selected service to be monitored
4130 ##
4131 # endpoints: []
4132 ## Name of the endpoint's service port
4133 ## Mutually exclusive with targetPort
4134 # - port: ""
4135
4136 ## Name or number of the endpoint's target port
4137 ## Mutually exclusive with port
4138 # - targetPort: ""
4139
4140 ## File containing bearer token to be used when scraping targets
4141 ##
4142 # bearerTokenFile: ""
4143
4144 ## Interval at which metrics should be scraped
4145 ##
4146 # interval: 30s
4147
4148 ## HTTP path to scrape for metrics
4149 ##
4150 # path: /metrics
4151
4152 ## HTTP scheme to use for scraping
4153 ##
4154 # scheme: http
4155
4156 ## TLS configuration to use when scraping the endpoint
4157 ##
4158 # tlsConfig:
4159
4160 ## Path to the CA file
4161 ##
4162 # caFile: ""
4163
4164 ## Path to client certificate file
4165 ##
4166 # certFile: ""
4167
4168 ## Skip certificate verification
4169 ##
4170 # insecureSkipVerify: false
4171
4172 ## Path to client key file
4173 ##
4174 # keyFile: ""
4175
4176 ## Server name used to verify host name
4177 ##
4178 # serverName: ""
4179
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004180 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
4181 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4182 ##
4183 # metricRelabelings: []
4184 # - action: keep
4185 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
4186 # sourceLabels: [__name__]
4187
4188 ## RelabelConfigs to apply to samples before scraping
4189 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4190 ##
4191 # relabelings: []
4192 # - sourceLabels: [__meta_kubernetes_pod_node_name]
4193 # separator: ;
4194 # regex: ^(.*)$
4195 # targetLabel: nodename
4196 # replacement: $1
4197 # action: replace
4198
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004199 additionalPodMonitors: []
4200 ## Name of the PodMonitor to create
4201 ##
4202 # - name: ""
4203
4204 ## Additional labels to set used for the PodMonitorSelector. Together with standard labels from
4205 ## the chart
4206 ##
4207 # additionalLabels: {}
4208
4209 ## Pod label for use in assembling a job name of the form <label value>-<port>
4210 ## If no label is specified, the pod endpoint name is used.
4211 ##
4212 # jobLabel: ""
4213
4214 ## Label selector for pods to which this PodMonitor applies
4215 ##
4216 # selector: {}
4217
4218 ## PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
4219 ##
4220 # podTargetLabels: {}
4221
4222 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
4223 ##
4224 # sampleLimit: 0
4225
4226 ## Namespaces from which pods are selected
4227 ##
4228 # namespaceSelector:
4229 ## Match any namespace
4230 ##
4231 # any: false
4232
4233 ## Explicit list of namespace names to select
4234 ##
4235 # matchNames: []
4236
4237 ## Endpoints of the selected pods to be monitored
4238 ## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#podmetricsendpoint
4239 ##
4240 # podMetricsEndpoints: []
4241
4242## Configuration for thanosRuler
4243## ref: https://thanos.io/tip/components/rule.md/
4244##
4245thanosRuler:
4246
4247 ## Deploy thanosRuler
4248 ##
4249 enabled: false
4250
4251 ## Annotations for ThanosRuler
4252 ##
4253 annotations: {}
4254
4255 ## Service account for ThanosRuler to use.
4256 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
4257 ##
4258 serviceAccount:
4259 create: true
4260 name: ""
4261 annotations: {}
4262
4263 ## Configure pod disruption budgets for ThanosRuler
4264 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004265 ##
4266 podDisruptionBudget:
4267 enabled: false
4268 minAvailable: 1
4269 maxUnavailable: ""
4270
4271 ingress:
4272 enabled: false
4273
4274 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
4275 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
4276 # ingressClassName: nginx
4277
4278 annotations: {}
4279
4280 labels: {}
4281
4282 ## Hosts must be provided if Ingress is enabled.
4283 ##
4284 hosts: []
4285 # - thanosruler.domain.com
4286
4287 ## Paths to use for ingress rules - one path should match the thanosruler.routePrefix
4288 ##
4289 paths: []
4290 # - /
4291
4292 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
4293 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
4294 # pathType: ImplementationSpecific
4295
4296 ## TLS configuration for ThanosRuler Ingress
4297 ## Secret must be manually created in the namespace
4298 ##
4299 tls: []
4300 # - secretName: thanosruler-general-tls
4301 # hosts:
4302 # - thanosruler.example.com
4303
4304 ## Configuration for ThanosRuler service
4305 ##
4306 service:
4307 annotations: {}
4308 labels: {}
4309 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04004310 ipDualStack:
4311 enabled: false
4312 ipFamilies: ["IPv6", "IPv4"]
4313 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004314
4315 ## Port for ThanosRuler Service to listen on
4316 ##
4317 port: 10902
4318 ## To be used with a proxy extraContainer port
4319 ##
4320 targetPort: 10902
4321 ## Port to expose on each node
4322 ## Only used if service.type is 'NodePort'
4323 ##
4324 nodePort: 30905
4325 ## List of IP addresses at which the Prometheus server service is available
4326 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
4327 ##
4328
4329 ## Additional ports to open for ThanosRuler service
4330 additionalPorts: []
4331
4332 externalIPs: []
4333 loadBalancerIP: ""
4334 loadBalancerSourceRanges: []
4335
4336 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
4337 ##
4338 externalTrafficPolicy: Cluster
4339
4340 ## Service type
4341 ##
4342 type: ClusterIP
4343
Giovanni Tirloni59219b62024-04-09 14:50:25 -03004344 ## Configuration for creating a ServiceMonitor for the ThanosRuler service
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004345 ##
4346 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03004347 ## If true, create a serviceMonitor for thanosRuler
4348 ##
4349 selfMonitor: true
4350
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004351 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
4352 ##
4353 interval: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004354
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004355 ## Additional labels
4356 ##
4357 additionalLabels: {}
4358
4359 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
4360 ##
4361 sampleLimit: 0
4362
4363 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
4364 ##
4365 targetLimit: 0
4366
4367 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
4368 ##
4369 labelLimit: 0
4370
4371 ## Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
4372 ##
4373 labelNameLengthLimit: 0
4374
4375 ## Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
4376 ##
4377 labelValueLengthLimit: 0
4378
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004379 ## proxyUrl: URL of a proxy that should be used for scraping.
4380 ##
4381 proxyUrl: ""
4382
4383 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
4384 scheme: ""
4385
4386 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
4387 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
4388 tlsConfig: {}
4389
4390 bearerTokenFile:
4391
4392 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
4393 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4394 ##
4395 metricRelabelings: []
4396 # - action: keep
4397 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
4398 # sourceLabels: [__name__]
4399
4400 ## RelabelConfigs to apply to samples before scraping
4401 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4402 ##
4403 relabelings: []
4404 # - sourceLabels: [__meta_kubernetes_pod_node_name]
4405 # separator: ;
4406 # regex: ^(.*)$
4407 # targetLabel: nodename
4408 # replacement: $1
4409 # action: replace
4410
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004411 ## Additional Endpoints
4412 ##
4413 additionalEndpoints: []
4414 # - port: oauth-metrics
4415 # path: /metrics
4416
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004417 ## Settings affecting thanosRulerpec
4418 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosrulerspec
4419 ##
4420 thanosRulerSpec:
4421 ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
4422 ## Metadata Labels and Annotations gets propagated to the ThanosRuler pods.
4423 ##
4424 podMetadata: {}
4425
4426 ## Image of ThanosRuler
4427 ##
4428 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004429 registry: quay.io
4430 repository: thanos/thanos
Mohammed Naser7d1623e2024-06-17 09:12:39 -04004431 tag: v0.35.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004432 sha: ""
4433
4434 ## Namespaces to be selected for PrometheusRules discovery.
4435 ## If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery.
4436 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage
4437 ##
4438 ruleNamespaceSelector: {}
4439
4440 ## If true, a nil or {} value for thanosRuler.thanosRulerSpec.ruleSelector will cause the
4441 ## prometheus resource to be created with selectors based on values in the helm deployment,
4442 ## which will also match the PrometheusRule resources created
4443 ##
4444 ruleSelectorNilUsesHelmValues: true
4445
4446 ## PrometheusRules to be selected for target discovery.
4447 ## If {}, select all PrometheusRules
4448 ##
4449 ruleSelector: {}
4450 ## Example which select all PrometheusRules resources
4451 ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
4452 # ruleSelector:
4453 # matchExpressions:
4454 # - key: prometheus
4455 # operator: In
4456 # values:
4457 # - example-rules
4458 # - example-rules-2
4459 #
4460 ## Example which select all PrometheusRules resources with label "role" set to "example-rules"
4461 # ruleSelector:
4462 # matchLabels:
4463 # role: example-rules
4464
4465 ## Define Log Format
4466 # Use logfmt (default) or json logging
4467 logFormat: logfmt
4468
4469 ## Log level for ThanosRuler to be configured with.
4470 ##
4471 logLevel: info
4472
4473 ## Size is the expected size of the thanosRuler cluster. The controller will eventually make the size of the
4474 ## running cluster equal to the expected size.
4475 replicas: 1
4476
4477 ## Time duration ThanosRuler shall retain data for. Default is '24h', and must match the regular expression
4478 ## [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours).
4479 ##
4480 retention: 24h
4481
4482 ## Interval between consecutive evaluations.
4483 ##
4484 evaluationInterval: ""
4485
4486 ## Storage is the definition of how storage will be used by the ThanosRuler instances.
4487 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
4488 ##
4489 storage: {}
4490 # volumeClaimTemplate:
4491 # spec:
4492 # storageClassName: gluster
4493 # accessModes: ["ReadWriteOnce"]
4494 # resources:
4495 # requests:
4496 # storage: 50Gi
4497 # selector: {}
4498
4499 ## AlertmanagerConfig define configuration for connecting to alertmanager.
4500 ## Only available with Thanos v0.10.0 and higher. Maps to the alertmanagers.config Thanos Ruler arg.
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004501 alertmanagersConfig:
4502 # use existing secret, if configured, alertmanagersConfig.secret will not be used
4503 existingSecret: {}
4504 # name: ""
4505 # key: ""
4506 # will render render alertmanagersConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when alertmanagersConfig.existingSecret is set
4507 # https://thanos.io/tip/components/rule.md/#alertmanager
4508 secret: {}
4509 # alertmanagers:
4510 # - api_version: v2
4511 # http_config:
4512 # basic_auth:
4513 # username: some_user
4514 # password: some_pass
4515 # static_configs:
4516 # - alertmanager.thanos.io
4517 # scheme: http
4518 # timeout: 10s
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004519
4520 ## DEPRECATED. Define URLs to send alerts to Alertmanager. For Thanos v0.10.0 and higher, alertmanagersConfig should be used instead.
4521 ## Note: this field will be ignored if alertmanagersConfig is specified. Maps to the alertmanagers.url Thanos Ruler arg.
4522 # alertmanagersUrl:
4523
4524 ## The external URL the Thanos Ruler instances will be available under. This is necessary to generate correct URLs. This is necessary if Thanos Ruler is not served from root of a DNS name. string false
4525 ##
4526 externalPrefix:
4527
Giovanni Tirlonib9d97992024-04-24 01:32:56 -03004528 ## If true, http://{{ template "kube-prometheus-stack.thanosRuler.name" . }}.{{ template "kube-prometheus-stack.namespace" . }}:{{ .Values.thanosRuler.service.port }}
4529 ## will be used as value for externalPrefix
4530 externalPrefixNilUsesHelmValues: true
4531
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004532 ## The route prefix ThanosRuler registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP routes of a request, and the actual ExternalURL is still true,
4533 ## but the server serves requests under a different route prefix. For example for use with kubectl proxy.
4534 ##
4535 routePrefix: /
4536
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004537 ## ObjectStorageConfig configures object storage in Thanos
4538 objectStorageConfig:
4539 # use existing secret, if configured, objectStorageConfig.secret will not be used
4540 existingSecret: {}
4541 # name: ""
4542 # key: ""
4543 # will render objectStorageConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when objectStorageConfig.existingSecret is set
4544 # https://thanos.io/tip/thanos/storage.md/#s3
4545 secret: {}
4546 # type: S3
4547 # config:
4548 # bucket: ""
4549 # endpoint: ""
4550 # region: ""
4551 # access_key: ""
4552 # secret_key: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004553
Giovanni Tirlonib9d97992024-04-24 01:32:56 -03004554 ## Labels by name to drop before sending to alertmanager
4555 ## Maps to the --alert.label-drop flag of thanos ruler.
4556 alertDropLabels: []
4557
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004558 ## QueryEndpoints defines Thanos querier endpoints from which to query metrics.
4559 ## Maps to the --query flag of thanos ruler.
4560 queryEndpoints: []
4561
4562 ## Define configuration for connecting to thanos query instances. If this is defined, the queryEndpoints field will be ignored.
4563 ## Maps to the query.config CLI argument. Only available with thanos v0.11.0 and higher.
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004564 queryConfig:
4565 # use existing secret, if configured, queryConfig.secret will not be used
4566 existingSecret: {}
4567 # name: ""
4568 # key: ""
4569 # render queryConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when queryConfig.existingSecret is set
4570 # https://thanos.io/tip/components/rule.md/#query-api
4571 secret: {}
4572 # - http_config:
4573 # basic_auth:
4574 # username: some_user
4575 # password: some_pass
4576 # static_configs:
4577 # - URL
4578 # scheme: http
4579 # timeout: 10s
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004580
4581 ## Labels configure the external label pairs to ThanosRuler. A default replica
4582 ## label `thanos_ruler_replica` will be always added as a label with the value
4583 ## of the pod's name and it will be dropped in the alerts.
4584 labels: {}
4585
4586 ## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
4587 ##
4588 paused: false
4589
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004590 ## Allows setting additional arguments for the ThanosRuler container
4591 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosruler
4592 ##
4593 additionalArgs: []
4594 # - name: remote-write.config
4595 # value: |-
4596 # "remote_write":
4597 # - "name": "receiver-0"
4598 # "remote_timeout": "30s"
4599 # "url": "http://thanos-receiver-0.thanos-receiver:8081/api/v1/receive"
4600
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004601 ## Define which Nodes the Pods are scheduled on.
4602 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
4603 ##
4604 nodeSelector: {}
4605
4606 ## Define resources requests and limits for single Pods.
4607 ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
4608 ##
4609 resources: {}
4610 # requests:
4611 # memory: 400Mi
4612
4613 ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
4614 ## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
4615 ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
4616 ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
4617 ##
4618 podAntiAffinity: ""
4619
4620 ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
4621 ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
4622 ##
4623 podAntiAffinityTopologyKey: kubernetes.io/hostname
4624
4625 ## Assign custom affinity rules to the thanosRuler instance
4626 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
4627 ##
4628 affinity: {}
4629 # nodeAffinity:
4630 # requiredDuringSchedulingIgnoredDuringExecution:
4631 # nodeSelectorTerms:
4632 # - matchExpressions:
4633 # - key: kubernetes.io/e2e-az-name
4634 # operator: In
4635 # values:
4636 # - e2e-az1
4637 # - e2e-az2
4638
4639 ## If specified, the pod's tolerations.
4640 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4641 ##
4642 tolerations: []
4643 # - key: "key"
4644 # operator: "Equal"
4645 # value: "value"
4646 # effect: "NoSchedule"
4647
4648 ## If specified, the pod's topology spread constraints.
4649 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
4650 ##
4651 topologySpreadConstraints: []
4652 # - maxSkew: 1
4653 # topologyKey: topology.kubernetes.io/zone
4654 # whenUnsatisfiable: DoNotSchedule
4655 # labelSelector:
4656 # matchLabels:
4657 # app: thanos-ruler
4658
4659 ## SecurityContext holds pod-level security attributes and common container settings.
4660 ## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false
4661 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4662 ##
4663 securityContext:
4664 runAsGroup: 2000
4665 runAsNonRoot: true
4666 runAsUser: 1000
4667 fsGroup: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004668 seccompProfile:
4669 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004670
4671 ## ListenLocal makes the ThanosRuler server listen on loopback, so that it does not bind against the Pod IP.
4672 ## Note this is only for the ThanosRuler UI, not the gossip communication.
4673 ##
4674 listenLocal: false
4675
4676 ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an ThanosRuler pod.
4677 ##
4678 containers: []
4679
4680 # Additional volumes on the output StatefulSet definition.
4681 volumes: []
4682
4683 # Additional VolumeMounts on the output StatefulSet definition.
4684 volumeMounts: []
4685
4686 ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
4687 ## (permissions, dir tree) on mounted volumes before starting prometheus
4688 initContainers: []
4689
4690 ## Priority class assigned to the Pods
4691 ##
4692 priorityClassName: ""
4693
4694 ## PortName to use for ThanosRuler.
4695 ##
4696 portName: "web"
4697
Giovanni Tirlonib9d97992024-04-24 01:32:56 -03004698 ## Additional configuration which is not covered by the properties above. (passed through tpl)
4699 additionalConfig: {}
4700
4701 ## Additional configuration which is not covered by the properties above.
4702 ## Useful, if you need advanced templating
4703 additionalConfigString: ""
4704
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004705 ## ExtraSecret can be used to store various data in an extra secret
4706 ## (use it for example to store hashed basic auth credentials)
4707 extraSecret:
4708 ## if not set, name will be auto generated
4709 # name: ""
4710 annotations: {}
4711 data: {}
4712 # auth: |
4713 # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
4714 # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
4715
4716## Setting to true produces cleaner resource names, but requires a data migration because the name of the persistent volume changes. Therefore this should only be set once on initial installation.
4717##
4718cleanPrometheusOperatorObjectNames: false
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004719
4720## Extra manifests to deploy as an array
4721extraManifests: []
4722 # - apiVersion: v1
4723 # kind: ConfigMap
4724 # metadata:
4725 # labels:
4726 # name: prometheus-extra
4727 # data:
4728 # extra-data: "value"