blob: 2dd808091290175f57b0c341e63eb245af272955 [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
278 ## Service account for Alertmanager to use.
279 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
280 ##
281 serviceAccount:
282 create: true
283 name: ""
284 annotations: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400285 automountServiceAccountToken: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500286
287 ## Configure pod disruption budgets for Alertmanager
288 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500289 ##
290 podDisruptionBudget:
291 enabled: false
292 minAvailable: 1
293 maxUnavailable: ""
294
295 ## Alertmanager configuration directives
296 ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file
297 ## https://prometheus.io/webtools/alerting/routing-tree-editor/
298 ##
299 config:
300 global:
301 resolve_timeout: 5m
302 inhibit_rules:
303 - source_matchers:
304 - 'severity = critical'
305 target_matchers:
306 - 'severity =~ warning|info'
307 equal:
308 - 'namespace'
309 - 'alertname'
310 - source_matchers:
311 - 'severity = warning'
312 target_matchers:
313 - 'severity = info'
314 equal:
315 - 'namespace'
316 - 'alertname'
317 - source_matchers:
318 - 'alertname = InfoInhibitor'
319 target_matchers:
320 - 'severity = info'
321 equal:
322 - 'namespace'
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500323 - target_matchers:
324 - 'alertname = InfoInhibitor'
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500325 route:
326 group_by: ['namespace']
327 group_wait: 30s
328 group_interval: 5m
329 repeat_interval: 12h
330 receiver: 'null'
331 routes:
332 - receiver: 'null'
333 matchers:
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500334 - alertname = "Watchdog"
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500335 receivers:
336 - name: 'null'
337 templates:
338 - '/etc/alertmanager/config/*.tmpl'
339
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400340 ## Alertmanager configuration directives (as string type, preferred over the config hash map)
341 ## stringConfig will be used only, if tplConfig is true
342 ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file
343 ## https://prometheus.io/webtools/alerting/routing-tree-editor/
344 ##
345 stringConfig: ""
346
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500347 ## Pass the Alertmanager configuration directives through Helm's templating
348 ## engine. If the Alertmanager configuration contains Alertmanager templates,
349 ## they'll need to be properly escaped so that they are not interpreted by
350 ## Helm
351 ## ref: https://helm.sh/docs/developing_charts/#using-the-tpl-function
352 ## https://prometheus.io/docs/alerting/configuration/#tmpl_string
353 ## https://prometheus.io/docs/alerting/notifications/
354 ## https://prometheus.io/docs/alerting/notification_examples/
355 tplConfig: false
356
357 ## Alertmanager template files to format alerts
358 ## By default, templateFiles are placed in /etc/alertmanager/config/ and if
359 ## they have a .tmpl file suffix will be loaded. See config.templates above
360 ## to change, add other suffixes. If adding other suffixes, be sure to update
361 ## config.templates above to include those suffixes.
362 ## ref: https://prometheus.io/docs/alerting/notifications/
363 ## https://prometheus.io/docs/alerting/notification_examples/
364 ##
365 templateFiles: {}
366 #
367 ## An example template:
368 # template_1.tmpl: |-
369 # {{ define "cluster" }}{{ .ExternalURL | reReplaceAll ".*alertmanager\\.(.*)" "$1" }}{{ end }}
370 #
371 # {{ define "slack.myorg.text" }}
372 # {{- $root := . -}}
373 # {{ range .Alerts }}
374 # *Alert:* {{ .Annotations.summary }} - `{{ .Labels.severity }}`
375 # *Cluster:* {{ template "cluster" $root }}
376 # *Description:* {{ .Annotations.description }}
377 # *Graph:* <{{ .GeneratorURL }}|:chart_with_upwards_trend:>
378 # *Runbook:* <{{ .Annotations.runbook }}|:spiral_note_pad:>
379 # *Details:*
380 # {{ range .Labels.SortedPairs }} - *{{ .Name }}:* `{{ .Value }}`
381 # {{ end }}
382 # {{ end }}
383 # {{ end }}
384
385 ingress:
386 enabled: false
387
388 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
389 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
390 # ingressClassName: nginx
391
392 annotations: {}
393
394 labels: {}
395
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400396 ## Override ingress to a different defined port on the service
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500397 # servicePort: 8081
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400398 ## Override ingress to a different service then the default, this is useful if you need to
399 ## point to a specific instance of the alertmanager (eg kube-prometheus-stack-alertmanager-0)
400 # serviceName: kube-prometheus-stack-alertmanager-0
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500401
402 ## Hosts must be provided if Ingress is enabled.
403 ##
404 hosts: []
405 # - alertmanager.domain.com
406
407 ## Paths to use for ingress rules - one path should match the alertmanagerSpec.routePrefix
408 ##
409 paths: []
410 # - /
411
412 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
413 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
414 # pathType: ImplementationSpecific
415
416 ## TLS configuration for Alertmanager Ingress
417 ## Secret must be manually created in the namespace
418 ##
419 tls: []
420 # - secretName: alertmanager-general-tls
421 # hosts:
422 # - alertmanager.example.com
423
424 ## Configuration for Alertmanager secret
425 ##
426 secret:
427 annotations: {}
428
429 ## Configuration for creating an Ingress that will map to each Alertmanager replica service
430 ## alertmanager.servicePerReplica must be enabled
431 ##
432 ingressPerReplica:
433 enabled: false
434
435 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
436 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
437 # ingressClassName: nginx
438
439 annotations: {}
440 labels: {}
441
442 ## Final form of the hostname for each per replica ingress is
443 ## {{ ingressPerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ ingressPerReplica.hostDomain }}
444 ##
445 ## Prefix for the per replica ingress that will have `-$replicaNumber`
446 ## appended to the end
447 hostPrefix: ""
448 ## Domain that will be used for the per replica ingress
449 hostDomain: ""
450
451 ## Paths to use for ingress rules
452 ##
453 paths: []
454 # - /
455
456 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
457 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
458 # pathType: ImplementationSpecific
459
460 ## Secret name containing the TLS certificate for alertmanager per replica ingress
461 ## Secret must be manually created in the namespace
462 tlsSecretName: ""
463
464 ## Separated secret for each per replica Ingress. Can be used together with cert-manager
465 ##
466 tlsSecretPerReplica:
467 enabled: false
468 ## Final form of the secret for each per replica ingress is
469 ## {{ tlsSecretPerReplica.prefix }}-{{ $replicaNumber }}
470 ##
471 prefix: "alertmanager"
472
473 ## Configuration for Alertmanager service
474 ##
475 service:
476 annotations: {}
477 labels: {}
478 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -0400479 ipDualStack:
480 enabled: false
481 ipFamilies: ["IPv6", "IPv4"]
482 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500483
484 ## Port for Alertmanager Service to listen on
485 ##
486 port: 9093
487 ## To be used with a proxy extraContainer port
488 ##
489 targetPort: 9093
490 ## Port to expose on each node
491 ## Only used if service.type is 'NodePort'
492 ##
493 nodePort: 30903
494 ## List of IP addresses at which the Prometheus server service is available
495 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
496 ##
497
498 ## Additional ports to open for Alertmanager service
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500499 ##
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500500 additionalPorts: []
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500501 # - name: oauth-proxy
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500502 # port: 8081
503 # targetPort: 8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500504 # - name: oauth-metrics
505 # port: 8082
506 # targetPort: 8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500507
508 externalIPs: []
509 loadBalancerIP: ""
510 loadBalancerSourceRanges: []
511
512 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
513 ##
514 externalTrafficPolicy: Cluster
515
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400516 ## 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 -0500517 ## Accepts 'ClientIP' or 'None'
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400518 ##
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500519 sessionAffinity: None
520
521 ## If you want to modify the ClientIP sessionAffinity timeout
522 ## The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP"
523 ##
524 sessionAffinityConfig:
525 clientIP:
526 timeoutSeconds: 10800
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400527
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500528 ## Service type
529 ##
530 type: ClusterIP
531
532 ## Configuration for creating a separate Service for each statefulset Alertmanager replica
533 ##
534 servicePerReplica:
535 enabled: false
536 annotations: {}
537
538 ## Port for Alertmanager Service per replica to listen on
539 ##
540 port: 9093
541
542 ## To be used with a proxy extraContainer port
543 targetPort: 9093
544
545 ## Port to expose on each node
546 ## Only used if servicePerReplica.type is 'NodePort'
547 ##
548 nodePort: 30904
549
550 ## Loadbalancer source IP ranges
551 ## Only used if servicePerReplica.type is "LoadBalancer"
552 loadBalancerSourceRanges: []
553
554 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
555 ##
556 externalTrafficPolicy: Cluster
557
558 ## Service type
559 ##
560 type: ClusterIP
561
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300562 ## Configuration for creating a ServiceMonitor for AlertManager
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500563 ##
564 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300565 ## If true, a ServiceMonitor will be created for the AlertManager service.
566 ##
567 selfMonitor: true
568
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500569 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
570 ##
571 interval: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500572
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400573 ## Additional labels
574 ##
575 additionalLabels: {}
576
577 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
578 ##
579 sampleLimit: 0
580
581 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
582 ##
583 targetLimit: 0
584
585 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
586 ##
587 labelLimit: 0
588
589 ## 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.
590 ##
591 labelNameLengthLimit: 0
592
593 ## 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.
594 ##
595 labelValueLengthLimit: 0
596
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500597 ## proxyUrl: URL of a proxy that should be used for scraping.
598 ##
599 proxyUrl: ""
600
601 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
602 scheme: ""
603
604 ## enableHttp2: Whether to enable HTTP2.
605 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#endpoint
606 enableHttp2: true
607
608 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
609 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
610 tlsConfig: {}
611
612 bearerTokenFile:
613
614 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
615 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
616 ##
617 metricRelabelings: []
618 # - action: keep
619 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
620 # sourceLabels: [__name__]
621
622 ## RelabelConfigs to apply to samples before scraping
623 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
624 ##
625 relabelings: []
626 # - sourceLabels: [__meta_kubernetes_pod_node_name]
627 # separator: ;
628 # regex: ^(.*)$
629 # targetLabel: nodename
630 # replacement: $1
631 # action: replace
632
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500633 ## Additional Endpoints
634 ##
635 additionalEndpoints: []
636 # - port: oauth-metrics
637 # path: /metrics
638
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500639 ## Settings affecting alertmanagerSpec
640 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerspec
641 ##
642 alertmanagerSpec:
643 ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
644 ## Metadata Labels and Annotations gets propagated to the Alertmanager pods.
645 ##
646 podMetadata: {}
647
648 ## Image of Alertmanager
649 ##
650 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400651 registry: quay.io
652 repository: prometheus/alertmanager
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300653 tag: v0.27.0
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500654 sha: ""
655
656 ## If true then the user will be responsible to provide a secret with alertmanager configuration
657 ## So when true the config part will be ignored (including templateFiles) and the one in the secret will be used
658 ##
659 useExistingSecret: false
660
661 ## Secrets is a list of Secrets in the same namespace as the Alertmanager object, which shall be mounted into the
662 ## Alertmanager Pods. The Secrets are mounted into /etc/alertmanager/secrets/.
663 ##
664 secrets: []
665
Giovanni Tirloni59219b62024-04-09 14:50:25 -0300666 ## If false then the user will opt out of automounting API credentials.
667 ##
668 automountServiceAccountToken: true
669
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500670 ## ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods.
671 ## The ConfigMaps are mounted into /etc/alertmanager/configmaps/.
672 ##
673 configMaps: []
674
675 ## ConfigSecret is the name of a Kubernetes Secret in the same namespace as the Alertmanager object, which contains configuration for
676 ## this Alertmanager instance. Defaults to 'alertmanager-' The secret is mounted into /etc/alertmanager/config.
677 ##
678 # configSecret:
679
680 ## WebTLSConfig defines the TLS parameters for HTTPS
681 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerwebspec
682 web: {}
683
684 ## AlertmanagerConfigs to be selected to merge and configure Alertmanager with.
685 ##
686 alertmanagerConfigSelector: {}
687 ## Example which selects all alertmanagerConfig resources
688 ## with label "alertconfig" with values any of "example-config" or "example-config-2"
689 # alertmanagerConfigSelector:
690 # matchExpressions:
691 # - key: alertconfig
692 # operator: In
693 # values:
694 # - example-config
695 # - example-config-2
696 #
697 ## Example which selects all alertmanagerConfig resources with label "role" set to "example-config"
698 # alertmanagerConfigSelector:
699 # matchLabels:
700 # role: example-config
701
702 ## Namespaces to be selected for AlertmanagerConfig discovery. If nil, only check own namespace.
703 ##
704 alertmanagerConfigNamespaceSelector: {}
705 ## Example which selects all namespaces
706 ## with label "alertmanagerconfig" with values any of "example-namespace" or "example-namespace-2"
707 # alertmanagerConfigNamespaceSelector:
708 # matchExpressions:
709 # - key: alertmanagerconfig
710 # operator: In
711 # values:
712 # - example-namespace
713 # - example-namespace-2
714
715 ## Example which selects all namespaces with label "alertmanagerconfig" set to "enabled"
716 # alertmanagerConfigNamespaceSelector:
717 # matchLabels:
718 # alertmanagerconfig: enabled
719
720 ## AlermanagerConfig to be used as top level configuration
721 ##
722 alertmanagerConfiguration: {}
723 ## Example with select a global alertmanagerconfig
724 # alertmanagerConfiguration:
725 # name: global-alertmanager-Configuration
726
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400727 ## Defines the strategy used by AlertmanagerConfig objects to match alerts. eg:
728 ##
729 alertmanagerConfigMatcherStrategy: {}
730 ## Example with use OnNamespace strategy
731 # alertmanagerConfigMatcherStrategy:
732 # type: OnNamespace
733
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500734 ## Define Log Format
735 # Use logfmt (default) or json logging
736 logFormat: logfmt
737
738 ## Log level for Alertmanager to be configured with.
739 ##
740 logLevel: info
741
742 ## Size is the expected size of the alertmanager cluster. The controller will eventually make the size of the
743 ## running cluster equal to the expected size.
744 replicas: 1
745
746 ## Time duration Alertmanager shall retain data for. Default is '120h', and must match the regular expression
747 ## [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours).
748 ##
749 retention: 120h
750
751 ## Storage is the definition of how storage will be used by the Alertmanager instances.
752 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
753 ##
754 storage: {}
755 # volumeClaimTemplate:
756 # spec:
757 # storageClassName: gluster
758 # accessModes: ["ReadWriteOnce"]
759 # resources:
760 # requests:
761 # storage: 50Gi
762 # selector: {}
763
764
765 ## 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
766 ##
767 externalUrl:
768
769 ## 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,
770 ## but the server serves requests under a different route prefix. For example for use with kubectl proxy.
771 ##
772 routePrefix: /
773
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400774 ## scheme: HTTP scheme to use. Can be used with `tlsConfig` for example if using istio mTLS.
775 scheme: ""
776
777 ## tlsConfig: TLS configuration to use when connect to the endpoint. For example if using istio mTLS.
778 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
779 tlsConfig: {}
780
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500781 ## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
782 ##
783 paused: false
784
785 ## Define which Nodes the Pods are scheduled on.
786 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
787 ##
788 nodeSelector: {}
789
790 ## Define resources requests and limits for single Pods.
791 ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
792 ##
793 resources: {}
794 # requests:
795 # memory: 400Mi
796
797 ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
798 ## 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.
799 ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
800 ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
801 ##
802 podAntiAffinity: ""
803
804 ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
805 ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
806 ##
807 podAntiAffinityTopologyKey: kubernetes.io/hostname
808
809 ## Assign custom affinity rules to the alertmanager instance
810 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
811 ##
812 affinity: {}
813 # nodeAffinity:
814 # requiredDuringSchedulingIgnoredDuringExecution:
815 # nodeSelectorTerms:
816 # - matchExpressions:
817 # - key: kubernetes.io/e2e-az-name
818 # operator: In
819 # values:
820 # - e2e-az1
821 # - e2e-az2
822
823 ## If specified, the pod's tolerations.
824 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
825 ##
826 tolerations: []
827 # - key: "key"
828 # operator: "Equal"
829 # value: "value"
830 # effect: "NoSchedule"
831
832 ## If specified, the pod's topology spread constraints.
833 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
834 ##
835 topologySpreadConstraints: []
836 # - maxSkew: 1
837 # topologyKey: topology.kubernetes.io/zone
838 # whenUnsatisfiable: DoNotSchedule
839 # labelSelector:
840 # matchLabels:
841 # app: alertmanager
842
843 ## SecurityContext holds pod-level security attributes and common container settings.
844 ## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false
845 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
846 ##
847 securityContext:
848 runAsGroup: 2000
849 runAsNonRoot: true
850 runAsUser: 1000
851 fsGroup: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400852 seccompProfile:
853 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500854
855 ## ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP.
856 ## Note this is only for the Alertmanager UI, not the gossip communication.
857 ##
858 listenLocal: false
859
860 ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an Alertmanager pod.
861 ##
862 containers: []
863 # containers:
864 # - name: oauth-proxy
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500865 # image: quay.io/oauth2-proxy/oauth2-proxy:v7.5.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500866 # args:
867 # - --upstream=http://127.0.0.1:9093
868 # - --http-address=0.0.0.0:8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500869 # - --metrics-address=0.0.0.0:8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500870 # - ...
871 # ports:
872 # - containerPort: 8081
873 # name: oauth-proxy
874 # protocol: TCP
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500875 # - containerPort: 8082
876 # name: oauth-metrics
877 # protocol: TCP
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500878 # resources: {}
879
880 # Additional volumes on the output StatefulSet definition.
881 volumes: []
882
883 # Additional VolumeMounts on the output StatefulSet definition.
884 volumeMounts: []
885
886 ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
887 ## (permissions, dir tree) on mounted volumes before starting prometheus
888 initContainers: []
889
890 ## Priority class assigned to the Pods
891 ##
892 priorityClassName: ""
893
894 ## AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster.
895 ##
896 additionalPeers: []
897
898 ## PortName to use for Alert Manager.
899 ##
900 portName: "http-web"
901
902 ## 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
903 ##
904 clusterAdvertiseAddress: false
905
Mohammed Naser5b49cbb2023-08-30 16:16:37 -0400906 ## clusterGossipInterval determines interval between gossip attempts.
907 ## Needs to be specified as GoDuration, a time duration that can be parsed by Go’s time.ParseDuration() (e.g. 45ms, 30s, 1m, 1h20m15s)
908 clusterGossipInterval: ""
909
910 ## clusterPeerTimeout determines timeout for cluster peering.
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 clusterPeerTimeout: ""
913
914 ## clusterPushpullInterval determines interval between pushpull attempts.
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 clusterPushpullInterval: ""
917
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500918 ## ForceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
919 ## Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each.
920 forceEnableClusterMode: false
921
922 ## Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to
923 ## be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).
924 minReadySeconds: 0
925
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500926 ## Additional configuration which is not covered by the properties above. (passed through tpl)
927 additionalConfig: {}
928
929 ## Additional configuration which is not covered by the properties above.
930 ## Useful, if you need advanced templating inside alertmanagerSpec.
931 ## Otherwise, use alertmanager.alertmanagerSpec.additionalConfig (passed through tpl)
932 additionalConfigString: ""
933
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500934 ## ExtraSecret can be used to store various data in an extra secret
935 ## (use it for example to store hashed basic auth credentials)
936 extraSecret:
937 ## if not set, name will be auto generated
938 # name: ""
939 annotations: {}
940 data: {}
941 # auth: |
942 # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
943 # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
944
945## Using default values from https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml
946##
947grafana:
948 enabled: true
949 namespaceOverride: ""
950
951 ## ForceDeployDatasources Create datasource configmap even if grafana deployment has been disabled
952 ##
953 forceDeployDatasources: false
954
955 ## ForceDeployDashboard Create dashboard configmap even if grafana deployment has been disabled
956 ##
957 forceDeployDashboards: false
958
959 ## Deploy default dashboards
960 ##
961 defaultDashboardsEnabled: true
962
963 ## Timezone for the default dashboards
964 ## Other options are: browser or a specific timezone, i.e. Europe/Luxembourg
965 ##
966 defaultDashboardsTimezone: utc
967
Mohammed Naser91e2fa02024-02-23 01:46:39 -0500968 ## Editable flag for the default dashboards
969 ##
970 defaultDashboardsEditable: true
971
Mohammed Naser9ad0d462023-01-15 20:36:37 -0500972 adminPassword: prom-operator
973
974 rbac:
975 ## If true, Grafana PSPs will be created
976 ##
977 pspEnabled: false
978
979 ingress:
980 ## If true, Grafana Ingress will be created
981 ##
982 enabled: false
983
984 ## IngressClassName for Grafana Ingress.
985 ## Should be provided if Ingress is enable.
986 ##
987 # ingressClassName: nginx
988
989 ## Annotations for Grafana Ingress
990 ##
991 annotations: {}
992 # kubernetes.io/ingress.class: nginx
993 # kubernetes.io/tls-acme: "true"
994
995 ## Labels to be added to the Ingress
996 ##
997 labels: {}
998
999 ## Hostnames.
1000 ## Must be provided if Ingress is enable.
1001 ##
1002 # hosts:
1003 # - grafana.domain.com
1004 hosts: []
1005
1006 ## Path for grafana ingress
1007 path: /
1008
1009 ## TLS configuration for grafana Ingress
1010 ## Secret must be manually created in the namespace
1011 ##
1012 tls: []
1013 # - secretName: grafana-general-tls
1014 # hosts:
1015 # - grafana.example.com
1016
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001017 # # To make Grafana persistent (Using Statefulset)
1018 # #
1019 # persistence:
1020 # enabled: true
1021 # type: sts
1022 # storageClassName: "storageClassName"
1023 # accessModes:
1024 # - ReadWriteOnce
1025 # size: 20Gi
1026 # finalizers:
1027 # - kubernetes.io/pvc-protection
1028
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001029 serviceAccount:
1030 create: true
1031 autoMount: true
1032
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001033 sidecar:
1034 dashboards:
1035 enabled: true
1036 label: grafana_dashboard
1037 labelValue: "1"
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001038 # Allow discovery in all namespaces for dashboards
1039 searchNamespace: ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001040
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001041 # Support for new table panels, when enabled grafana auto migrates the old table panels to newer table panels
1042 enableNewTablePanelSyntax: false
1043
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001044 ## Annotations for Grafana dashboard configmaps
1045 ##
1046 annotations: {}
1047 multicluster:
1048 global:
1049 enabled: false
1050 etcd:
1051 enabled: false
1052 provider:
1053 allowUiUpdates: false
1054 datasources:
1055 enabled: true
1056 defaultDatasourceEnabled: true
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001057 isDefaultDatasource: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001058
1059 uid: prometheus
1060
1061 ## URL of prometheus datasource
1062 ##
1063 # url: http://prometheus-stack-prometheus:9090/
1064
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001065 ## Prometheus request timeout in seconds
1066 # timeout: 30
1067
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001068 # If not defined, will use prometheus.prometheusSpec.scrapeInterval or its default
1069 # defaultDatasourceScrapeInterval: 15s
1070
1071 ## Annotations for Grafana datasource configmaps
1072 ##
1073 annotations: {}
1074
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001075 ## Set method for HTTP to send query to datasource
1076 httpMethod: POST
1077
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001078 ## Create datasource for each Pod of Prometheus StatefulSet;
1079 ## this uses headless service `prometheus-operated` which is
1080 ## created by Prometheus Operator
1081 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/0fee93e12dc7c2ea1218f19ae25ec6b893460590/pkg/prometheus/statefulset.go#L255-L286
1082 createPrometheusReplicasDatasources: false
1083 label: grafana_datasource
1084 labelValue: "1"
1085
1086 ## Field with internal link pointing to existing data source in Grafana.
1087 ## Can be provisioned via additionalDataSources
1088 exemplarTraceIdDestinations: {}
1089 # datasourceUid: Jaeger
1090 # traceIdLabelName: trace_id
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001091 alertmanager:
1092 enabled: true
1093 uid: alertmanager
1094 handleGrafanaManagedAlerts: false
1095 implementation: prometheus
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001096
1097 extraConfigmapMounts: []
1098 # - name: certs-configmap
1099 # mountPath: /etc/grafana/ssl/
1100 # configMap: certs-configmap
1101 # readOnly: true
1102
1103 deleteDatasources: []
1104 # - name: example-datasource
1105 # orgId: 1
1106
1107 ## Configure additional grafana datasources (passed through tpl)
1108 ## ref: http://docs.grafana.org/administration/provisioning/#datasources
1109 additionalDataSources: []
1110 # - name: prometheus-sample
1111 # access: proxy
1112 # basicAuth: true
1113 # basicAuthPassword: pass
1114 # basicAuthUser: daco
1115 # editable: false
1116 # jsonData:
1117 # tlsSkipVerify: true
1118 # orgId: 1
1119 # type: prometheus
1120 # url: https://{{ printf "%s-prometheus.svc" .Release.Name }}:9090
1121 # version: 1
1122
1123 ## Passed to grafana subchart and used by servicemonitor below
1124 ##
1125 service:
1126 portName: http-web
1127
1128 serviceMonitor:
1129 # If true, a ServiceMonitor CRD is created for a prometheus operator
1130 # https://github.com/coreos/prometheus-operator
1131 #
1132 enabled: true
1133
1134 # Path to use for scraping metrics. Might be different if server.root_url is set
1135 # in grafana.ini
1136 path: "/metrics"
1137
1138 # namespace: monitoring (defaults to use the namespace this chart is deployed to)
1139
1140 # labels for the ServiceMonitor
1141 labels: {}
1142
1143 # Scrape interval. If not set, the Prometheus default scrape interval is used.
1144 #
1145 interval: ""
1146 scheme: http
1147 tlsConfig: {}
1148 scrapeTimeout: 30s
1149
1150 ## RelabelConfigs to apply to samples before scraping
1151 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1152 ##
1153 relabelings: []
1154 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1155 # separator: ;
1156 # regex: ^(.*)$
1157 # targetLabel: nodename
1158 # replacement: $1
1159 # action: replace
1160
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001161## Flag to disable all the kubernetes component scrapers
1162##
1163kubernetesServiceMonitors:
1164 enabled: true
1165
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001166## Component scraping the kube api server
1167##
1168kubeApiServer:
1169 enabled: true
1170 tlsConfig:
1171 serverName: kubernetes
1172 insecureSkipVerify: false
1173 serviceMonitor:
1174 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1175 ##
1176 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001177
1178 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1179 ##
1180 sampleLimit: 0
1181
1182 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1183 ##
1184 targetLimit: 0
1185
1186 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1187 ##
1188 labelLimit: 0
1189
1190 ## 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.
1191 ##
1192 labelNameLengthLimit: 0
1193
1194 ## 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.
1195 ##
1196 labelValueLengthLimit: 0
1197
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001198 ## proxyUrl: URL of a proxy that should be used for scraping.
1199 ##
1200 proxyUrl: ""
1201
1202 jobLabel: component
1203 selector:
1204 matchLabels:
1205 component: apiserver
1206 provider: kubernetes
1207
1208 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1209 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1210 ##
1211 metricRelabelings:
1212 # Drop excessively noisy apiserver buckets.
1213 - action: drop
1214 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)
1215 sourceLabels:
1216 - __name__
1217 - le
1218 # - action: keep
1219 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1220 # sourceLabels: [__name__]
1221
1222 ## RelabelConfigs to apply to samples before scraping
1223 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1224 ##
1225 relabelings: []
1226 # - sourceLabels:
1227 # - __meta_kubernetes_namespace
1228 # - __meta_kubernetes_service_name
1229 # - __meta_kubernetes_endpoint_port_name
1230 # action: keep
1231 # regex: default;kubernetes;https
1232 # - targetLabel: __address__
1233 # replacement: kubernetes.default.svc:443
1234
1235 ## Additional labels
1236 ##
1237 additionalLabels: {}
1238 # foo: bar
1239
1240## Component scraping the kubelet and kubelet-hosted cAdvisor
1241##
1242kubelet:
1243 enabled: true
1244 namespace: kube-system
1245
1246 serviceMonitor:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001247 ## Attach metadata to discovered targets. Requires Prometheus v2.45 for endpoints created by the operator.
1248 ##
1249 attachMetadata:
1250 node: false
1251
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001252 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1253 ##
1254 interval: ""
1255
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001256 ## If true, Prometheus use (respect) labels provided by exporter.
1257 ##
1258 honorLabels: true
1259
1260 ## If true, Prometheus ingests metrics with timestamp provided by exporter. If false, Prometheus ingests metrics with timestamp of scrape.
1261 ##
1262 honorTimestamps: true
1263
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001264 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1265 ##
1266 sampleLimit: 0
1267
1268 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1269 ##
1270 targetLimit: 0
1271
1272 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1273 ##
1274 labelLimit: 0
1275
1276 ## 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.
1277 ##
1278 labelNameLengthLimit: 0
1279
1280 ## 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.
1281 ##
1282 labelValueLengthLimit: 0
1283
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001284 ## proxyUrl: URL of a proxy that should be used for scraping.
1285 ##
1286 proxyUrl: ""
1287
1288 ## Enable scraping the kubelet over https. For requirements to enable this see
1289 ## https://github.com/prometheus-operator/prometheus-operator/issues/926
1290 ##
1291 https: true
1292
1293 ## Enable scraping /metrics/cadvisor from kubelet's service
1294 ##
1295 cAdvisor: true
1296
1297 ## Enable scraping /metrics/probes from kubelet's service
1298 ##
1299 probes: true
1300
1301 ## Enable scraping /metrics/resource from kubelet's service
1302 ## This is disabled by default because container metrics are already exposed by cAdvisor
1303 ##
1304 resource: false
1305 # From kubernetes 1.18, /metrics/resource/v1alpha1 renamed to /metrics/resource
1306 resourcePath: "/metrics/resource/v1alpha1"
1307
1308 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1309 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1310 ##
1311 cAdvisorMetricRelabelings:
1312 # Drop less useful container CPU metrics.
1313 - sourceLabels: [__name__]
1314 action: drop
1315 regex: 'container_cpu_(cfs_throttled_seconds_total|load_average_10s|system_seconds_total|user_seconds_total)'
1316 # Drop less useful container / always zero filesystem metrics.
1317 - sourceLabels: [__name__]
1318 action: drop
1319 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)'
1320 # Drop less useful / always zero container memory metrics.
1321 - sourceLabels: [__name__]
1322 action: drop
1323 regex: 'container_memory_(mapped_file|swap)'
1324 # Drop less useful container process metrics.
1325 - sourceLabels: [__name__]
1326 action: drop
1327 regex: 'container_(file_descriptors|tasks_state|threads_max)'
1328 # Drop container spec metrics that overlap with kube-state-metrics.
1329 - sourceLabels: [__name__]
1330 action: drop
1331 regex: 'container_spec.*'
1332 # Drop cgroup metrics with no pod.
1333 - sourceLabels: [id, pod]
1334 action: drop
1335 regex: '.+;'
1336 # - sourceLabels: [__name__, image]
1337 # separator: ;
1338 # regex: container_([a-z_]+);
1339 # replacement: $1
1340 # action: drop
1341 # - sourceLabels: [__name__]
1342 # separator: ;
1343 # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
1344 # replacement: $1
1345 # action: drop
1346
1347 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1348 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1349 ##
1350 probesMetricRelabelings: []
1351 # - sourceLabels: [__name__, image]
1352 # separator: ;
1353 # regex: container_([a-z_]+);
1354 # replacement: $1
1355 # action: drop
1356 # - sourceLabels: [__name__]
1357 # separator: ;
1358 # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
1359 # replacement: $1
1360 # action: drop
1361
1362 ## RelabelConfigs to apply to samples before scraping
1363 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1364 ##
1365 ## metrics_path is required to match upstream rules and charts
1366 cAdvisorRelabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001367 - action: replace
1368 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001369 targetLabel: metrics_path
1370 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1371 # separator: ;
1372 # regex: ^(.*)$
1373 # targetLabel: nodename
1374 # replacement: $1
1375 # action: replace
1376
1377 ## RelabelConfigs to apply to samples before scraping
1378 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1379 ##
1380 probesRelabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001381 - action: replace
1382 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001383 targetLabel: metrics_path
1384 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1385 # separator: ;
1386 # regex: ^(.*)$
1387 # targetLabel: nodename
1388 # replacement: $1
1389 # action: replace
1390
1391 ## RelabelConfigs to apply to samples before scraping
1392 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1393 ##
1394 resourceRelabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001395 - action: replace
1396 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001397 targetLabel: metrics_path
1398 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1399 # separator: ;
1400 # regex: ^(.*)$
1401 # targetLabel: nodename
1402 # replacement: $1
1403 # action: replace
1404
1405 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1406 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1407 ##
1408 metricRelabelings: []
1409 # - sourceLabels: [__name__, image]
1410 # separator: ;
1411 # regex: container_([a-z_]+);
1412 # replacement: $1
1413 # action: drop
1414 # - sourceLabels: [__name__]
1415 # separator: ;
1416 # regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
1417 # replacement: $1
1418 # action: drop
1419
1420 ## RelabelConfigs to apply to samples before scraping
1421 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1422 ##
1423 ## metrics_path is required to match upstream rules and charts
1424 relabelings:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001425 - action: replace
1426 sourceLabels: [__metrics_path__]
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001427 targetLabel: metrics_path
1428 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1429 # separator: ;
1430 # regex: ^(.*)$
1431 # targetLabel: nodename
1432 # replacement: $1
1433 # action: replace
1434
1435 ## Additional labels
1436 ##
1437 additionalLabels: {}
1438 # foo: bar
1439
1440## Component scraping the kube controller manager
1441##
1442kubeControllerManager:
1443 enabled: true
1444
1445 ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on
1446 ##
1447 endpoints: []
1448 # - 10.141.4.22
1449 # - 10.141.4.23
1450 # - 10.141.4.24
1451
1452 ## If using kubeControllerManager.endpoints only the port and targetPort are used
1453 ##
1454 service:
1455 enabled: true
1456 ## If null or unset, the value is determined dynamically based on target Kubernetes version due to change
1457 ## of default port in Kubernetes 1.22.
1458 ##
1459 port: null
1460 targetPort: null
Mohammed Naser65cda132024-05-02 14:34:08 -04001461 ipDualStack:
1462 enabled: false
1463 ipFamilies: ["IPv6", "IPv4"]
1464 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001465 # selector:
1466 # component: kube-controller-manager
1467
1468 serviceMonitor:
1469 enabled: true
1470 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1471 ##
1472 interval: ""
1473
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001474 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1475 ##
1476 sampleLimit: 0
1477
1478 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1479 ##
1480 targetLimit: 0
1481
1482 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1483 ##
1484 labelLimit: 0
1485
1486 ## 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.
1487 ##
1488 labelNameLengthLimit: 0
1489
1490 ## 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.
1491 ##
1492 labelValueLengthLimit: 0
1493
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001494 ## proxyUrl: URL of a proxy that should be used for scraping.
1495 ##
1496 proxyUrl: ""
1497
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001498 ## port: Name of the port the metrics will be scraped from
1499 ##
1500 port: http-metrics
1501
1502 jobLabel: jobLabel
1503 selector: {}
1504 # matchLabels:
1505 # component: kube-controller-manager
1506
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001507 ## Enable scraping kube-controller-manager over https.
1508 ## Requires proper certs (not self-signed) and delegated authentication/authorization checks.
1509 ## If null or unset, the value is determined dynamically based on target Kubernetes version.
1510 ##
1511 https: null
1512
1513 # Skip TLS certificate validation when scraping
1514 insecureSkipVerify: null
1515
1516 # Name of the server to use when validating TLS certificate
1517 serverName: null
1518
1519 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1520 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1521 ##
1522 metricRelabelings: []
1523 # - action: keep
1524 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1525 # sourceLabels: [__name__]
1526
1527 ## RelabelConfigs to apply to samples before scraping
1528 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1529 ##
1530 relabelings: []
1531 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1532 # separator: ;
1533 # regex: ^(.*)$
1534 # targetLabel: nodename
1535 # replacement: $1
1536 # action: replace
1537
1538 ## Additional labels
1539 ##
1540 additionalLabels: {}
1541 # foo: bar
1542
1543## Component scraping coreDns. Use either this or kubeDns
1544##
1545coreDns:
1546 enabled: true
1547 service:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001548 enabled: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001549 port: 9153
1550 targetPort: 9153
Mohammed Naser65cda132024-05-02 14:34:08 -04001551
1552 ipDualStack:
1553 enabled: false
1554 ipFamilies: ["IPv6", "IPv4"]
1555 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001556 # selector:
1557 # k8s-app: kube-dns
1558 serviceMonitor:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05001559 enabled: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001560 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1561 ##
1562 interval: ""
1563
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001564 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1565 ##
1566 sampleLimit: 0
1567
1568 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1569 ##
1570 targetLimit: 0
1571
1572 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1573 ##
1574 labelLimit: 0
1575
1576 ## 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.
1577 ##
1578 labelNameLengthLimit: 0
1579
1580 ## 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.
1581 ##
1582 labelValueLengthLimit: 0
1583
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001584 ## proxyUrl: URL of a proxy that should be used for scraping.
1585 ##
1586 proxyUrl: ""
1587
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001588 ## port: Name of the port the metrics will be scraped from
1589 ##
1590 port: http-metrics
1591
1592 jobLabel: jobLabel
1593 selector: {}
1594 # matchLabels:
1595 # k8s-app: kube-dns
1596
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001597 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1598 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1599 ##
1600 metricRelabelings: []
1601 # - action: keep
1602 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1603 # sourceLabels: [__name__]
1604
1605 ## RelabelConfigs to apply to samples before scraping
1606 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1607 ##
1608 relabelings: []
1609 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1610 # separator: ;
1611 # regex: ^(.*)$
1612 # targetLabel: nodename
1613 # replacement: $1
1614 # action: replace
1615
1616 ## Additional labels
1617 ##
1618 additionalLabels: {}
1619 # foo: bar
1620
1621## Component scraping kubeDns. Use either this or coreDns
1622##
1623kubeDns:
1624 enabled: false
1625 service:
1626 dnsmasq:
1627 port: 10054
1628 targetPort: 10054
1629 skydns:
1630 port: 10055
1631 targetPort: 10055
Mohammed Naser65cda132024-05-02 14:34:08 -04001632 ipDualStack:
1633 enabled: false
1634 ipFamilies: ["IPv6", "IPv4"]
1635 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001636 # selector:
1637 # k8s-app: kube-dns
1638 serviceMonitor:
1639 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1640 ##
1641 interval: ""
1642
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001643 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1644 ##
1645 sampleLimit: 0
1646
1647 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1648 ##
1649 targetLimit: 0
1650
1651 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1652 ##
1653 labelLimit: 0
1654
1655 ## 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.
1656 ##
1657 labelNameLengthLimit: 0
1658
1659 ## 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.
1660 ##
1661 labelValueLengthLimit: 0
1662
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001663 ## proxyUrl: URL of a proxy that should be used for scraping.
1664 ##
1665 proxyUrl: ""
1666
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001667 jobLabel: jobLabel
1668 selector: {}
1669 # matchLabels:
1670 # k8s-app: kube-dns
1671
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001672 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1673 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1674 ##
1675 metricRelabelings: []
1676 # - action: keep
1677 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1678 # sourceLabels: [__name__]
1679
1680 ## RelabelConfigs to apply to samples before scraping
1681 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1682 ##
1683 relabelings: []
1684 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1685 # separator: ;
1686 # regex: ^(.*)$
1687 # targetLabel: nodename
1688 # replacement: $1
1689 # action: replace
1690
1691 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1692 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1693 ##
1694 dnsmasqMetricRelabelings: []
1695 # - action: keep
1696 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1697 # sourceLabels: [__name__]
1698
1699 ## RelabelConfigs to apply to samples before scraping
1700 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1701 ##
1702 dnsmasqRelabelings: []
1703 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1704 # separator: ;
1705 # regex: ^(.*)$
1706 # targetLabel: nodename
1707 # replacement: $1
1708 # action: replace
1709
1710 ## Additional labels
1711 ##
1712 additionalLabels: {}
1713 # foo: bar
1714
1715## Component scraping etcd
1716##
1717kubeEtcd:
1718 enabled: true
1719
1720 ## If your etcd is not deployed as a pod, specify IPs it can be found on
1721 ##
1722 endpoints: []
1723 # - 10.141.4.22
1724 # - 10.141.4.23
1725 # - 10.141.4.24
1726
1727 ## Etcd service. If using kubeEtcd.endpoints only the port and targetPort are used
1728 ##
1729 service:
1730 enabled: true
1731 port: 2381
1732 targetPort: 2381
Mohammed Naser65cda132024-05-02 14:34:08 -04001733 ipDualStack:
1734 enabled: false
1735 ipFamilies: ["IPv6", "IPv4"]
1736 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001737 # selector:
1738 # component: etcd
1739
1740 ## Configure secure access to the etcd cluster by loading a secret into prometheus and
1741 ## specifying security configuration below. For example, with a secret named etcd-client-cert
1742 ##
1743 ## serviceMonitor:
1744 ## scheme: https
1745 ## insecureSkipVerify: false
1746 ## serverName: localhost
1747 ## caFile: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
1748 ## certFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client
1749 ## keyFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
1750 ##
1751 serviceMonitor:
1752 enabled: true
1753 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1754 ##
1755 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001756
1757 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1758 ##
1759 sampleLimit: 0
1760
1761 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1762 ##
1763 targetLimit: 0
1764
1765 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1766 ##
1767 labelLimit: 0
1768
1769 ## 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.
1770 ##
1771 labelNameLengthLimit: 0
1772
1773 ## 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.
1774 ##
1775 labelValueLengthLimit: 0
1776
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001777 ## proxyUrl: URL of a proxy that should be used for scraping.
1778 ##
1779 proxyUrl: ""
1780 scheme: http
1781 insecureSkipVerify: false
1782 serverName: ""
1783 caFile: ""
1784 certFile: ""
1785 keyFile: ""
1786
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001787 ## port: Name of the port the metrics will be scraped from
1788 ##
1789 port: http-metrics
1790
1791 jobLabel: jobLabel
1792 selector: {}
1793 # matchLabels:
1794 # component: etcd
1795
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001796 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1797 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1798 ##
1799 metricRelabelings: []
1800 # - action: keep
1801 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1802 # sourceLabels: [__name__]
1803
1804 ## RelabelConfigs to apply to samples before scraping
1805 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1806 ##
1807 relabelings: []
1808 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1809 # separator: ;
1810 # regex: ^(.*)$
1811 # targetLabel: nodename
1812 # replacement: $1
1813 # action: replace
1814
1815 ## Additional labels
1816 ##
1817 additionalLabels: {}
1818 # foo: bar
1819
1820## Component scraping kube scheduler
1821##
1822kubeScheduler:
1823 enabled: true
1824
1825 ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on
1826 ##
1827 endpoints: []
1828 # - 10.141.4.22
1829 # - 10.141.4.23
1830 # - 10.141.4.24
1831
1832 ## If using kubeScheduler.endpoints only the port and targetPort are used
1833 ##
1834 service:
1835 enabled: true
1836 ## If null or unset, the value is determined dynamically based on target Kubernetes version due to change
1837 ## of default port in Kubernetes 1.23.
1838 ##
1839 port: null
1840 targetPort: null
Mohammed Naser65cda132024-05-02 14:34:08 -04001841 ipDualStack:
1842 enabled: false
1843 ipFamilies: ["IPv6", "IPv4"]
1844 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001845 # selector:
1846 # component: kube-scheduler
1847
1848 serviceMonitor:
1849 enabled: true
1850 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1851 ##
1852 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001853
1854 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1855 ##
1856 sampleLimit: 0
1857
1858 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1859 ##
1860 targetLimit: 0
1861
1862 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1863 ##
1864 labelLimit: 0
1865
1866 ## 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.
1867 ##
1868 labelNameLengthLimit: 0
1869
1870 ## 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.
1871 ##
1872 labelValueLengthLimit: 0
1873
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001874 ## proxyUrl: URL of a proxy that should be used for scraping.
1875 ##
1876 proxyUrl: ""
1877 ## Enable scraping kube-scheduler over https.
1878 ## Requires proper certs (not self-signed) and delegated authentication/authorization checks.
1879 ## If null or unset, the value is determined dynamically based on target Kubernetes version.
1880 ##
1881 https: null
1882
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001883 ## port: Name of the port the metrics will be scraped from
1884 ##
1885 port: http-metrics
1886
1887 jobLabel: jobLabel
1888 selector: {}
1889 # matchLabels:
1890 # component: kube-scheduler
1891
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001892 ## Skip TLS certificate validation when scraping
1893 insecureSkipVerify: null
1894
1895 ## Name of the server to use when validating TLS certificate
1896 serverName: null
1897
1898 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1899 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1900 ##
1901 metricRelabelings: []
1902 # - action: keep
1903 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1904 # sourceLabels: [__name__]
1905
1906 ## RelabelConfigs to apply to samples before scraping
1907 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1908 ##
1909 relabelings: []
1910 # - sourceLabels: [__meta_kubernetes_pod_node_name]
1911 # separator: ;
1912 # regex: ^(.*)$
1913 # targetLabel: nodename
1914 # replacement: $1
1915 # action: replace
1916
1917 ## Additional labels
1918 ##
1919 additionalLabels: {}
1920 # foo: bar
1921
1922## Component scraping kube proxy
1923##
1924kubeProxy:
1925 enabled: true
1926
1927 ## If your kube proxy is not deployed as a pod, specify IPs it can be found on
1928 ##
1929 endpoints: []
1930 # - 10.141.4.22
1931 # - 10.141.4.23
1932 # - 10.141.4.24
1933
1934 service:
1935 enabled: true
1936 port: 10249
1937 targetPort: 10249
Mohammed Naser65cda132024-05-02 14:34:08 -04001938 ipDualStack:
1939 enabled: false
1940 ipFamilies: ["IPv6", "IPv4"]
1941 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001942 # selector:
1943 # k8s-app: kube-proxy
1944
1945 serviceMonitor:
1946 enabled: true
1947 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
1948 ##
1949 interval: ""
1950
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04001951 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
1952 ##
1953 sampleLimit: 0
1954
1955 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
1956 ##
1957 targetLimit: 0
1958
1959 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
1960 ##
1961 labelLimit: 0
1962
1963 ## 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.
1964 ##
1965 labelNameLengthLimit: 0
1966
1967 ## 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.
1968 ##
1969 labelValueLengthLimit: 0
1970
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001971 ## proxyUrl: URL of a proxy that should be used for scraping.
1972 ##
1973 proxyUrl: ""
1974
Giovanni Tirloni59219b62024-04-09 14:50:25 -03001975 ## port: Name of the port the metrics will be scraped from
1976 ##
1977 port: http-metrics
1978
1979 jobLabel: jobLabel
1980 selector: {}
1981 # matchLabels:
1982 # k8s-app: kube-proxy
1983
Mohammed Naser9ad0d462023-01-15 20:36:37 -05001984 ## Enable scraping kube-proxy over https.
1985 ## Requires proper certs (not self-signed) and delegated authentication/authorization checks
1986 ##
1987 https: false
1988
1989 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
1990 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1991 ##
1992 metricRelabelings: []
1993 # - action: keep
1994 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
1995 # sourceLabels: [__name__]
1996
1997 ## RelabelConfigs to apply to samples before scraping
1998 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
1999 ##
2000 relabelings: []
2001 # - action: keep
2002 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
2003 # sourceLabels: [__name__]
2004
2005 ## Additional labels
2006 ##
2007 additionalLabels: {}
2008 # foo: bar
2009
2010## Component scraping kube state metrics
2011##
2012kubeStateMetrics:
2013 enabled: true
2014
2015## Configuration for kube-state-metrics subchart
2016##
2017kube-state-metrics:
2018 namespaceOverride: ""
2019 rbac:
2020 create: true
2021 releaseLabel: true
2022 prometheus:
2023 monitor:
2024 enabled: true
2025
2026 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
2027 ##
2028 interval: ""
2029
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002030 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
2031 ##
2032 sampleLimit: 0
2033
2034 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
2035 ##
2036 targetLimit: 0
2037
2038 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2039 ##
2040 labelLimit: 0
2041
2042 ## 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.
2043 ##
2044 labelNameLengthLimit: 0
2045
2046 ## 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.
2047 ##
2048 labelValueLengthLimit: 0
2049
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002050 ## Scrape Timeout. If not set, the Prometheus default scrape timeout is used.
2051 ##
2052 scrapeTimeout: ""
2053
2054 ## proxyUrl: URL of a proxy that should be used for scraping.
2055 ##
2056 proxyUrl: ""
2057
2058 # Keep labels from scraped data, overriding server-side labels
2059 ##
2060 honorLabels: true
2061
2062 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
2063 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2064 ##
2065 metricRelabelings: []
2066 # - action: keep
2067 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
2068 # sourceLabels: [__name__]
2069
2070 ## RelabelConfigs to apply to samples before scraping
2071 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2072 ##
2073 relabelings: []
2074 # - sourceLabels: [__meta_kubernetes_pod_node_name]
2075 # separator: ;
2076 # regex: ^(.*)$
2077 # targetLabel: nodename
2078 # replacement: $1
2079 # action: replace
2080
2081 selfMonitor:
2082 enabled: false
2083
2084## Deploy node exporter as a daemonset to all nodes
2085##
2086nodeExporter:
2087 enabled: true
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002088 operatingSystems:
2089 linux:
2090 enabled: true
2091 darwin:
2092 enabled: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002093
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002094 ## ForceDeployDashboard Create dashboard configmap even if nodeExporter deployment has been disabled
2095 ##
2096 forceDeployDashboards: false
2097
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002098## Configuration for prometheus-node-exporter subchart
2099##
2100prometheus-node-exporter:
2101 namespaceOverride: ""
2102 podLabels:
2103 ## Add the 'node-exporter' label to be used by serviceMonitor to match standard common usage in rules and grafana dashboards
2104 ##
2105 jobLabel: node-exporter
2106 releaseLabel: true
2107 extraArgs:
2108 - --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
2109 - --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)$
2110 service:
2111 portName: http-metrics
Mohammed Naser65cda132024-05-02 14:34:08 -04002112 ipDualStack:
2113 enabled: false
2114 ipFamilies: ["IPv6", "IPv4"]
2115 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002116 prometheus:
2117 monitor:
2118 enabled: true
2119
2120 jobLabel: jobLabel
2121
2122 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
2123 ##
2124 interval: ""
2125
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002126 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
2127 ##
2128 sampleLimit: 0
2129
2130 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
2131 ##
2132 targetLimit: 0
2133
2134 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2135 ##
2136 labelLimit: 0
2137
2138 ## 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.
2139 ##
2140 labelNameLengthLimit: 0
2141
2142 ## 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.
2143 ##
2144 labelValueLengthLimit: 0
2145
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002146 ## How long until a scrape request times out. If not set, the Prometheus default scape timeout is used.
2147 ##
2148 scrapeTimeout: ""
2149
2150 ## proxyUrl: URL of a proxy that should be used for scraping.
2151 ##
2152 proxyUrl: ""
2153
2154 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
2155 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2156 ##
2157 metricRelabelings: []
2158 # - sourceLabels: [__name__]
2159 # separator: ;
2160 # regex: ^node_mountstats_nfs_(event|operations|transport)_.+
2161 # replacement: $1
2162 # action: drop
2163
2164 ## RelabelConfigs to apply to samples before scraping
2165 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
2166 ##
2167 relabelings: []
2168 # - sourceLabels: [__meta_kubernetes_pod_node_name]
2169 # separator: ;
2170 # regex: ^(.*)$
2171 # targetLabel: nodename
2172 # replacement: $1
2173 # action: replace
2174 rbac:
2175 ## If true, create PSPs for node-exporter
2176 ##
2177 pspEnabled: false
2178
2179## Manages Prometheus and Alertmanager components
2180##
2181prometheusOperator:
2182 enabled: true
2183
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002184 ## Use '{{ template "kube-prometheus-stack.fullname" . }}-operator' by default
2185 fullnameOverride: ""
2186
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002187 ## Number of old replicasets to retain ##
2188 ## The default value is 10, 0 will garbage-collect old replicasets ##
2189 revisionHistoryLimit: 10
2190
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002191 ## Strategy of the deployment
2192 ##
2193 strategy: {}
2194
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002195 ## Prometheus-Operator v0.39.0 and later support TLS natively.
2196 ##
2197 tls:
2198 enabled: true
2199 # Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants
2200 tlsMinVersion: VersionTLS13
2201 # The default webhook port is 10250 in order to work out-of-the-box in GKE private clusters and avoid adding firewall rules.
2202 internalPort: 10250
2203
2204 ## Admission webhook support for PrometheusRules resources added in Prometheus Operator 0.30 can be enabled to prevent incorrectly formatted
2205 ## rules from making their way into prometheus and potentially preventing the container from starting
2206 admissionWebhooks:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002207 ## Valid values: Fail, Ignore, IgnoreOnInstallOnly
2208 ## IgnoreOnInstallOnly - If Release.IsInstall returns "true", set "Ignore" otherwise "Fail"
2209 failurePolicy: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002210 ## The default timeoutSeconds is 10 and the maximum value is 30.
2211 timeoutSeconds: 10
2212 enabled: true
2213 ## A PEM encoded CA bundle which will be used to validate the webhook's server certificate.
2214 ## If unspecified, system trust roots on the apiserver are used.
2215 caBundle: ""
2216 ## If enabled, generate a self-signed certificate, then patch the webhook configurations with the generated data.
2217 ## On chart upgrades (or if the secret exists) the cert will not be re-generated. You can use this to provide your own
2218 ## certs ahead of time if you wish.
2219 ##
2220 annotations: {}
2221 # argocd.argoproj.io/hook: PreSync
2222 # argocd.argoproj.io/hook-delete-policy: HookSucceeded
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002223
2224 namespaceSelector: {}
2225
2226 deployment:
2227 enabled: false
2228
2229 ## Number of replicas
2230 ##
2231 replicas: 1
2232
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002233 ## Strategy of the deployment
2234 ##
2235 strategy: {}
2236
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002237 # Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
2238 podDisruptionBudget: {}
2239 # maxUnavailable: 1
2240 # minAvailable: 1
2241
2242 ## Number of old replicasets to retain ##
2243 ## The default value is 10, 0 will garbage-collect old replicasets ##
2244 revisionHistoryLimit: 10
2245
2246 ## Prometheus-Operator v0.39.0 and later support TLS natively.
2247 ##
2248 tls:
2249 enabled: true
2250 # Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants
2251 tlsMinVersion: VersionTLS13
2252 # The default webhook port is 10250 in order to work out-of-the-box in GKE private clusters and avoid adding firewall rules.
2253 internalPort: 10250
2254
2255 ## Service account for Prometheus Operator Webhook to use.
2256 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2257 ##
2258 serviceAccount:
2259 automountServiceAccountToken: false
2260 create: true
2261 name: ""
2262
2263 ## Configuration for Prometheus operator Webhook service
2264 ##
2265 service:
2266 annotations: {}
2267 labels: {}
2268 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04002269 ipDualStack:
2270 enabled: false
2271 ipFamilies: ["IPv6", "IPv4"]
2272 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002273
2274 ## Port to expose on each node
2275 ## Only used if service.type is 'NodePort'
2276 ##
2277 nodePort: 31080
2278
2279 nodePortTls: 31443
2280
2281 ## Additional ports to open for Prometheus operator Webhook service
2282 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
2283 ##
2284 additionalPorts: []
2285
2286 ## Loadbalancer IP
2287 ## Only use if service.type is "LoadBalancer"
2288 ##
2289 loadBalancerIP: ""
2290 loadBalancerSourceRanges: []
2291
2292 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2293 ##
2294 externalTrafficPolicy: Cluster
2295
2296 ## Service type
2297 ## NodePort, ClusterIP, LoadBalancer
2298 ##
2299 type: ClusterIP
2300
2301 ## List of IP addresses at which the Prometheus server service is available
2302 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
2303 ##
2304 externalIPs: []
2305
2306 # ## Labels to add to the operator webhook deployment
2307 # ##
2308 labels: {}
2309
2310 ## Annotations to add to the operator webhook deployment
2311 ##
2312 annotations: {}
2313
2314 ## Labels to add to the operator webhook pod
2315 ##
2316 podLabels: {}
2317
2318 ## Annotations to add to the operator webhook pod
2319 ##
2320 podAnnotations: {}
2321
2322 ## Assign a PriorityClassName to pods if set
2323 # priorityClassName: ""
2324
2325 ## Define Log Format
2326 # Use logfmt (default) or json logging
2327 # logFormat: logfmt
2328
2329 ## Decrease log verbosity to errors only
2330 # logLevel: error
2331
2332 ## Prometheus-operator webhook image
2333 ##
2334 image:
2335 registry: quay.io
2336 repository: prometheus-operator/admission-webhook
2337 # if not set appVersion field from Chart.yaml is used
2338 tag: ""
2339 sha: ""
2340 pullPolicy: IfNotPresent
2341
2342 ## Define Log Format
2343 # Use logfmt (default) or json logging
2344 # logFormat: logfmt
2345
2346 ## Decrease log verbosity to errors only
2347 # logLevel: error
2348
2349
2350 ## Liveness probe
2351 ##
2352 livenessProbe:
2353 enabled: true
2354 failureThreshold: 3
2355 initialDelaySeconds: 30
2356 periodSeconds: 10
2357 successThreshold: 1
2358 timeoutSeconds: 1
2359
2360 ## Readiness probe
2361 ##
2362 readinessProbe:
2363 enabled: true
2364 failureThreshold: 3
2365 initialDelaySeconds: 5
2366 periodSeconds: 10
2367 successThreshold: 1
2368 timeoutSeconds: 1
2369
2370 ## Resource limits & requests
2371 ##
2372 resources: {}
2373 # limits:
2374 # cpu: 200m
2375 # memory: 200Mi
2376 # requests:
2377 # cpu: 100m
2378 # memory: 100Mi
2379
2380 # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
2381 # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
2382 ##
2383 hostNetwork: false
2384
2385 ## Define which Nodes the Pods are scheduled on.
2386 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
2387 ##
2388 nodeSelector: {}
2389
2390 ## Tolerations for use with node taints
2391 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2392 ##
2393 tolerations: []
2394 # - key: "key"
2395 # operator: "Equal"
2396 # value: "value"
2397 # effect: "NoSchedule"
2398
2399 ## Assign custom affinity rules to the prometheus operator
2400 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
2401 ##
2402 affinity: {}
2403 # nodeAffinity:
2404 # requiredDuringSchedulingIgnoredDuringExecution:
2405 # nodeSelectorTerms:
2406 # - matchExpressions:
2407 # - key: kubernetes.io/e2e-az-name
2408 # operator: In
2409 # values:
2410 # - e2e-az1
2411 # - e2e-az2
2412 dnsConfig: {}
2413 # nameservers:
2414 # - 1.2.3.4
2415 # searches:
2416 # - ns1.svc.cluster-domain.example
2417 # - my.dns.search.suffix
2418 # options:
2419 # - name: ndots
2420 # value: "2"
2421 # - name: edns0
2422 securityContext:
2423 fsGroup: 65534
2424 runAsGroup: 65534
2425 runAsNonRoot: true
2426 runAsUser: 65534
2427 seccompProfile:
2428 type: RuntimeDefault
2429
2430 ## Container-specific security context configuration
2431 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2432 ##
2433 containerSecurityContext:
2434 allowPrivilegeEscalation: false
2435 readOnlyRootFilesystem: true
2436 capabilities:
2437 drop:
2438 - ALL
2439
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002440 ## If false then the user will opt out of automounting API credentials.
2441 ##
2442 automountServiceAccountToken: true
2443
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002444 patch:
2445 enabled: true
2446 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002447 registry: registry.k8s.io
2448 repository: ingress-nginx/kube-webhook-certgen
2449 tag: v20221220-controller-v1.5.1-58-g787ea74b6
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002450 sha: ""
2451 pullPolicy: IfNotPresent
2452 resources: {}
2453 ## Provide a priority class name to the webhook patching job
2454 ##
2455 priorityClassName: ""
2456 annotations: {}
2457 # argocd.argoproj.io/hook: PreSync
2458 # argocd.argoproj.io/hook-delete-policy: HookSucceeded
2459 podAnnotations: {}
2460 nodeSelector: {}
2461 affinity: {}
2462 tolerations: []
2463
2464 ## SecurityContext holds pod-level security attributes and common container settings.
2465 ## This defaults to non root user with uid 2000 and gid 2000. *v1.PodSecurityContext false
2466 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2467 ##
2468 securityContext:
2469 runAsGroup: 2000
2470 runAsNonRoot: true
2471 runAsUser: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002472 seccompProfile:
2473 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002474
2475 # Security context for create job container
2476 createSecretJob:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002477 securityContext:
2478 allowPrivilegeEscalation: false
2479 readOnlyRootFilesystem: true
2480 capabilities:
2481 drop:
2482 - ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002483
2484 # Security context for patch job container
2485 patchWebhookJob:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002486 securityContext:
2487 allowPrivilegeEscalation: false
2488 readOnlyRootFilesystem: true
2489 capabilities:
2490 drop:
2491 - ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002492
2493 # Use certmanager to generate webhook certs
2494 certManager:
2495 enabled: false
2496 # self-signed root certificate
2497 rootCert:
2498 duration: "" # default to be 5y
2499 admissionCert:
2500 duration: "" # default to be 1y
2501 # issuerRef:
2502 # name: "issuer"
2503 # kind: "ClusterIssuer"
2504
2505 ## Namespaces to scope the interaction of the Prometheus Operator and the apiserver (allow list).
2506 ## This is mutually exclusive with denyNamespaces. Setting this to an empty object will disable the configuration
2507 ##
2508 namespaces: {}
2509 # releaseNamespace: true
2510 # additional:
2511 # - kube-system
2512
2513 ## Namespaces not to scope the interaction of the Prometheus Operator (deny list).
2514 ##
2515 denyNamespaces: []
2516
2517 ## Filter namespaces to look for prometheus-operator custom resources
2518 ##
2519 alertmanagerInstanceNamespaces: []
2520 alertmanagerConfigNamespaces: []
2521 prometheusInstanceNamespaces: []
2522 thanosRulerInstanceNamespaces: []
2523
2524 ## The clusterDomain value will be added to the cluster.peer option of the alertmanager.
2525 ## Without this specified option cluster.peer will have value alertmanager-monitoring-alertmanager-0.alertmanager-operated:9094 (default value)
2526 ## With this specified option cluster.peer will have value alertmanager-monitoring-alertmanager-0.alertmanager-operated.namespace.svc.cluster-domain:9094
2527 ##
2528 # clusterDomain: "cluster.local"
2529
2530 networkPolicy:
2531 ## Enable creation of NetworkPolicy resources.
2532 ##
2533 enabled: false
2534
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002535 ## Flavor of the network policy to use.
2536 # Can be:
2537 # * kubernetes for networking.k8s.io/v1/NetworkPolicy
2538 # * cilium for cilium.io/v2/CiliumNetworkPolicy
2539 flavor: kubernetes
2540
2541 # cilium:
2542 # egress:
2543
2544 ## match labels used in selector
2545 # matchLabels: {}
2546
2547 ## Service account for Prometheus Operator to use.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002548 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2549 ##
2550 serviceAccount:
2551 create: true
2552 name: ""
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002553 automountServiceAccountToken: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002554
2555 ## Configuration for Prometheus operator service
2556 ##
2557 service:
2558 annotations: {}
2559 labels: {}
2560 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04002561 ipDualStack:
2562 enabled: false
2563 ipFamilies: ["IPv6", "IPv4"]
2564 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002565
2566 ## Port to expose on each node
2567 ## Only used if service.type is 'NodePort'
2568 ##
2569 nodePort: 30080
2570
2571 nodePortTls: 30443
2572
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002573 ## Additional ports to open for Prometheus operator service
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002574 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#multi-port-services
2575 ##
2576 additionalPorts: []
2577
2578 ## Loadbalancer IP
2579 ## Only use if service.type is "LoadBalancer"
2580 ##
2581 loadBalancerIP: ""
2582 loadBalancerSourceRanges: []
2583
2584 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2585 ##
2586 externalTrafficPolicy: Cluster
2587
2588 ## Service type
2589 ## NodePort, ClusterIP, LoadBalancer
2590 ##
2591 type: ClusterIP
2592
2593 ## List of IP addresses at which the Prometheus server service is available
2594 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
2595 ##
2596 externalIPs: []
2597
2598 # ## Labels to add to the operator deployment
2599 # ##
2600 labels: {}
2601
2602 ## Annotations to add to the operator deployment
2603 ##
2604 annotations: {}
2605
2606 ## Labels to add to the operator pod
2607 ##
2608 podLabels: {}
2609
2610 ## Annotations to add to the operator pod
2611 ##
2612 podAnnotations: {}
2613
2614 ## Assign a PriorityClassName to pods if set
2615 # priorityClassName: ""
2616
2617 ## Define Log Format
2618 # Use logfmt (default) or json logging
2619 # logFormat: logfmt
2620
2621 ## Decrease log verbosity to errors only
2622 # logLevel: error
2623
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002624 kubeletService:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002625 ## If true, the operator will create and maintain a service for scraping kubelets
2626 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/helm/prometheus-operator/README.md
2627 ##
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002628 enabled: true
2629 namespace: kube-system
2630 ## Use '{{ template "kube-prometheus-stack.fullname" . }}-kubelet' by default
2631 name: ""
2632
2633 ## Create a servicemonitor for the operator
2634 ##
2635 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002636 ## If true, create a serviceMonitor for prometheus operator
2637 ##
2638 selfMonitor: true
2639
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002640 ## Labels for ServiceMonitor
2641 additionalLabels: {}
2642
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002643 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
2644 ##
2645 interval: ""
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002646
2647 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
2648 ##
2649 sampleLimit: 0
2650
2651 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
2652 ##
2653 targetLimit: 0
2654
2655 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
2656 ##
2657 labelLimit: 0
2658
2659 ## 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.
2660 ##
2661 labelNameLengthLimit: 0
2662
2663 ## 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.
2664 ##
2665 labelValueLengthLimit: 0
2666
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002667 ## Scrape timeout. If not set, the Prometheus default scrape timeout is used.
2668 scrapeTimeout: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002669
2670 ## Metric relabel configs to apply to samples before ingestion.
2671 ##
2672 metricRelabelings: []
2673 # - action: keep
2674 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
2675 # sourceLabels: [__name__]
2676
2677 # relabel configs to apply to samples before ingestion.
2678 ##
2679 relabelings: []
2680 # - sourceLabels: [__meta_kubernetes_pod_node_name]
2681 # separator: ;
2682 # regex: ^(.*)$
2683 # targetLabel: nodename
2684 # replacement: $1
2685 # action: replace
2686
2687 ## Resource limits & requests
2688 ##
2689 resources: {}
2690 # limits:
2691 # cpu: 200m
2692 # memory: 200Mi
2693 # requests:
2694 # cpu: 100m
2695 # memory: 100Mi
2696
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002697 ## Operator Environment
2698 ## env:
2699 ## VARIABLE: value
2700 env:
2701 GOGC: "30"
2702
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002703 # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
2704 # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
2705 ##
2706 hostNetwork: false
2707
2708 ## Define which Nodes the Pods are scheduled on.
2709 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
2710 ##
2711 nodeSelector: {}
2712
2713 ## Tolerations for use with node taints
2714 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2715 ##
2716 tolerations: []
2717 # - key: "key"
2718 # operator: "Equal"
2719 # value: "value"
2720 # effect: "NoSchedule"
2721
2722 ## Assign custom affinity rules to the prometheus operator
2723 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
2724 ##
2725 affinity: {}
2726 # nodeAffinity:
2727 # requiredDuringSchedulingIgnoredDuringExecution:
2728 # nodeSelectorTerms:
2729 # - matchExpressions:
2730 # - key: kubernetes.io/e2e-az-name
2731 # operator: In
2732 # values:
2733 # - e2e-az1
2734 # - e2e-az2
2735 dnsConfig: {}
2736 # nameservers:
2737 # - 1.2.3.4
2738 # searches:
2739 # - ns1.svc.cluster-domain.example
2740 # - my.dns.search.suffix
2741 # options:
2742 # - name: ndots
2743 # value: "2"
2744 # - name: edns0
2745 securityContext:
2746 fsGroup: 65534
2747 runAsGroup: 65534
2748 runAsNonRoot: true
2749 runAsUser: 65534
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002750 seccompProfile:
2751 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002752
2753 ## Container-specific security context configuration
2754 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2755 ##
2756 containerSecurityContext:
2757 allowPrivilegeEscalation: false
2758 readOnlyRootFilesystem: true
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002759 capabilities:
2760 drop:
2761 - ALL
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002762
2763 # Enable vertical pod autoscaler support for prometheus-operator
2764 verticalPodAutoscaler:
2765 enabled: false
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002766
2767 # Recommender responsible for generating recommendation for the object.
2768 # List should be empty (then the default recommender will generate the recommendation)
2769 # or contain exactly one recommender.
2770 # recommenders:
2771 # - name: custom-recommender-performance
2772
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002773 # List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
2774 controlledResources: []
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002775 # Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits.
2776 # controlledValues: RequestsAndLimits
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002777
2778 # Define the max allowed resources for the pod
2779 maxAllowed: {}
2780 # cpu: 200m
2781 # memory: 100Mi
2782 # Define the min allowed resources for the pod
2783 minAllowed: {}
2784 # cpu: 200m
2785 # memory: 100Mi
2786
2787 updatePolicy:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002788 # Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction
2789 # minReplicas: 1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002790 # Specifies whether recommended updates are applied when a Pod is started and whether recommended updates
2791 # are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto".
2792 updateMode: Auto
2793
2794 ## Prometheus-operator image
2795 ##
2796 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002797 registry: quay.io
2798 repository: prometheus-operator/prometheus-operator
2799 # if not set appVersion field from Chart.yaml is used
2800 tag: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002801 sha: ""
2802 pullPolicy: IfNotPresent
2803
2804 ## Prometheus image to use for prometheuses managed by the operator
2805 ##
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002806 # prometheusDefaultBaseImage: prometheus/prometheus
2807
2808 ## Prometheus image registry to use for prometheuses managed by the operator
2809 ##
2810 # prometheusDefaultBaseImageRegistry: quay.io
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002811
2812 ## Alertmanager image to use for alertmanagers managed by the operator
2813 ##
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002814 # alertmanagerDefaultBaseImage: prometheus/alertmanager
2815
2816 ## Alertmanager image registry to use for alertmanagers managed by the operator
2817 ##
2818 # alertmanagerDefaultBaseImageRegistry: quay.io
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002819
2820 ## Prometheus-config-reloader
2821 ##
2822 prometheusConfigReloader:
2823 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002824 registry: quay.io
2825 repository: prometheus-operator/prometheus-config-reloader
2826 # if not set appVersion field from Chart.yaml is used
2827 tag: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002828 sha: ""
2829
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002830 # add prometheus config reloader liveness and readiness probe. Default: false
2831 enableProbe: false
2832
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002833 # resource config for prometheusConfigReloader
Mohammed Naser91e2fa02024-02-23 01:46:39 -05002834 resources: {}
2835 # requests:
2836 # cpu: 200m
2837 # memory: 50Mi
2838 # limits:
2839 # cpu: 200m
2840 # memory: 50Mi
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002841
2842 ## Thanos side-car image when configured
2843 ##
2844 thanosImage:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002845 registry: quay.io
2846 repository: thanos/thanos
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002847 tag: v0.34.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002848 sha: ""
2849
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002850 ## Set a Label Selector to filter watched prometheus and prometheusAgent
2851 ##
2852 prometheusInstanceSelector: ""
2853
2854 ## Set a Label Selector to filter watched alertmanager
2855 ##
2856 alertmanagerInstanceSelector: ""
2857
2858 ## Set a Label Selector to filter watched thanosRuler
2859 thanosRulerInstanceSelector: ""
2860
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002861 ## Set a Field Selector to filter watched secrets
2862 ##
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002863 secretFieldSelector: "type!=kubernetes.io/dockercfg,type!=kubernetes.io/service-account-token,type!=helm.sh/release.v1"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002864
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002865 ## If false then the user will opt out of automounting API credentials.
2866 ##
2867 automountServiceAccountToken: true
2868
2869 ## Additional volumes
2870 ##
2871 extraVolumes: []
2872
2873 ## Additional volume mounts
2874 ##
2875 extraVolumeMounts: []
2876
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002877## Deploy a Prometheus instance
2878##
2879prometheus:
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002880 enabled: true
2881
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002882 ## Toggle prometheus into agent mode
2883 ## Note many of features described below (e.g. rules, query, alerting, remote read, thanos) will not work in agent mode.
2884 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/designs/prometheus-agent.md
2885 ##
2886 agentMode: false
2887
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002888 ## Annotations for Prometheus
2889 ##
2890 annotations: {}
2891
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002892 ## Configure network policy for the prometheus
2893 networkPolicy:
2894 enabled: false
2895
2896 ## Flavor of the network policy to use.
2897 # Can be:
2898 # * kubernetes for networking.k8s.io/v1/NetworkPolicy
2899 # * cilium for cilium.io/v2/CiliumNetworkPolicy
2900 flavor: kubernetes
2901
2902 # cilium:
2903 # endpointSelector:
2904 # egress:
2905 # ingress:
2906
2907 # egress:
2908 # - {}
2909 # ingress:
2910 # - {}
2911 # podSelector:
2912 # matchLabels:
2913 # app: prometheus
2914
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002915 ## Service account for Prometheuses to use.
2916 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2917 ##
2918 serviceAccount:
2919 create: true
2920 name: ""
2921 annotations: {}
Giovanni Tirloni59219b62024-04-09 14:50:25 -03002922 automountServiceAccountToken: true
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002923
2924 # Service for thanos service discovery on sidecar
2925 # Enable this can make Thanos Query can use
2926 # `--store=dnssrv+_grpc._tcp.${kube-prometheus-stack.fullname}-thanos-discovery.${namespace}.svc.cluster.local` to discovery
2927 # Thanos sidecar on prometheus nodes
2928 # (Please remember to change ${kube-prometheus-stack.fullname} and ${namespace}. Not just copy and paste!)
2929 thanosService:
2930 enabled: false
2931 annotations: {}
2932 labels: {}
2933
2934 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2935 ##
2936 externalTrafficPolicy: Cluster
2937
2938 ## Service type
2939 ##
2940 type: ClusterIP
2941
Mohammed Naser65cda132024-05-02 14:34:08 -04002942 ## Service dual stack
2943 ##
2944 ipDualStack:
2945 enabled: false
2946 ipFamilies: ["IPv6", "IPv4"]
2947 ipFamilyPolicy: "PreferDualStack"
2948
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002949 ## gRPC port config
2950 portName: grpc
2951 port: 10901
2952 targetPort: "grpc"
2953
2954 ## HTTP port config (for metrics)
2955 httpPortName: http
2956 httpPort: 10902
2957 targetHttpPort: "http"
2958
2959 ## ClusterIP to assign
2960 # Default is to make this a headless service ("None")
2961 clusterIP: "None"
2962
2963 ## Port to expose on each node, if service type is NodePort
2964 ##
2965 nodePort: 30901
2966 httpNodePort: 30902
2967
2968 # ServiceMonitor to scrape Sidecar metrics
2969 # Needs thanosService to be enabled as well
2970 thanosServiceMonitor:
2971 enabled: false
2972 interval: ""
2973
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04002974 ## Additional labels
2975 ##
2976 additionalLabels: {}
2977
Mohammed Naser9ad0d462023-01-15 20:36:37 -05002978 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
2979 scheme: ""
2980
2981 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
2982 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
2983 tlsConfig: {}
2984
2985 bearerTokenFile:
2986
2987 ## Metric relabel configs to apply to samples before ingestion.
2988 metricRelabelings: []
2989
2990 ## relabel configs to apply to samples before ingestion.
2991 relabelings: []
2992
2993 # Service for external access to sidecar
2994 # Enabling this creates a service to expose thanos-sidecar outside the cluster.
2995 thanosServiceExternal:
2996 enabled: false
2997 annotations: {}
2998 labels: {}
2999 loadBalancerIP: ""
3000 loadBalancerSourceRanges: []
3001
3002 ## gRPC port config
3003 portName: grpc
3004 port: 10901
3005 targetPort: "grpc"
3006
3007 ## HTTP port config (for metrics)
3008 httpPortName: http
3009 httpPort: 10902
3010 targetHttpPort: "http"
3011
3012 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3013 ##
3014 externalTrafficPolicy: Cluster
3015
3016 ## Service type
3017 ##
3018 type: LoadBalancer
3019
3020 ## Port to expose on each node
3021 ##
3022 nodePort: 30901
3023 httpNodePort: 30902
3024
3025 ## Configuration for Prometheus service
3026 ##
3027 service:
3028 annotations: {}
3029 labels: {}
3030 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04003031 ipDualStack:
3032 enabled: false
3033 ipFamilies: ["IPv6", "IPv4"]
3034 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003035
3036 ## Port for Prometheus Service to listen on
3037 ##
3038 port: 9090
3039
3040 ## To be used with a proxy extraContainer port
3041 targetPort: 9090
3042
Giovanni Tirloni59219b62024-04-09 14:50:25 -03003043 ## Port for Prometheus Reloader to listen on
3044 ##
3045 reloaderWebPort: 8080
3046
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003047 ## List of IP addresses at which the Prometheus server service is available
3048 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
3049 ##
3050 externalIPs: []
3051
3052 ## Port to expose on each node
3053 ## Only used if service.type is 'NodePort'
3054 ##
3055 nodePort: 30090
3056
3057 ## Loadbalancer IP
3058 ## Only use if service.type is "LoadBalancer"
3059 loadBalancerIP: ""
3060 loadBalancerSourceRanges: []
3061
3062 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3063 ##
3064 externalTrafficPolicy: Cluster
3065
3066 ## Service type
3067 ##
3068 type: ClusterIP
3069
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003070 ## Additional ports to open for Prometheus service
3071 ##
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003072 additionalPorts: []
3073 # additionalPorts:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003074 # - name: oauth-proxy
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003075 # port: 8081
3076 # targetPort: 8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003077 # - name: oauth-metrics
3078 # port: 8082
3079 # targetPort: 8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003080
3081 ## Consider that all endpoints are considered "ready" even if the Pods themselves are not
3082 ## Ref: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec
3083 publishNotReadyAddresses: false
3084
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003085 ## If you want to make sure that connections from a particular client are passed to the same Pod each time
3086 ## Accepts 'ClientIP' or 'None'
3087 ##
3088 sessionAffinity: None
3089
3090 ## If you want to modify the ClientIP sessionAffinity timeout
3091 ## The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP"
3092 ##
3093 sessionAffinityConfig:
3094 clientIP:
3095 timeoutSeconds: 10800
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003096
3097 ## Configuration for creating a separate Service for each statefulset Prometheus replica
3098 ##
3099 servicePerReplica:
3100 enabled: false
3101 annotations: {}
3102
3103 ## Port for Prometheus Service per replica to listen on
3104 ##
3105 port: 9090
3106
3107 ## To be used with a proxy extraContainer port
3108 targetPort: 9090
3109
3110 ## Port to expose on each node
3111 ## Only used if servicePerReplica.type is 'NodePort'
3112 ##
3113 nodePort: 30091
3114
3115 ## Loadbalancer source IP ranges
3116 ## Only used if servicePerReplica.type is "LoadBalancer"
3117 loadBalancerSourceRanges: []
3118
3119 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3120 ##
3121 externalTrafficPolicy: Cluster
3122
3123 ## Service type
3124 ##
3125 type: ClusterIP
3126
Mohammed Naser65cda132024-05-02 14:34:08 -04003127 ## Service dual stack
3128 ##
3129 ipDualStack:
3130 enabled: false
3131 ipFamilies: ["IPv6", "IPv4"]
3132 ipFamilyPolicy: "PreferDualStack"
3133
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003134 ## Configure pod disruption budgets for Prometheus
3135 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003136 ##
3137 podDisruptionBudget:
3138 enabled: false
3139 minAvailable: 1
3140 maxUnavailable: ""
3141
3142 # Ingress exposes thanos sidecar outside the cluster
3143 thanosIngress:
3144 enabled: false
3145
3146 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
3147 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
3148 # ingressClassName: nginx
3149
3150 annotations: {}
3151 labels: {}
3152 servicePort: 10901
3153
3154 ## Port to expose on each node
3155 ## Only used if service.type is 'NodePort'
3156 ##
3157 nodePort: 30901
3158
3159 ## Hosts must be provided if Ingress is enabled.
3160 ##
3161 hosts: []
3162 # - thanos-gateway.domain.com
3163
3164 ## Paths to use for ingress rules
3165 ##
3166 paths: []
3167 # - /
3168
3169 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
3170 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
3171 # pathType: ImplementationSpecific
3172
3173 ## TLS configuration for Thanos Ingress
3174 ## Secret must be manually created in the namespace
3175 ##
3176 tls: []
3177 # - secretName: thanos-gateway-tls
3178 # hosts:
3179 # - thanos-gateway.domain.com
3180 #
3181
3182 ## ExtraSecret can be used to store various data in an extra secret
3183 ## (use it for example to store hashed basic auth credentials)
3184 extraSecret:
3185 ## if not set, name will be auto generated
3186 # name: ""
3187 annotations: {}
3188 data: {}
3189 # auth: |
3190 # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
3191 # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
3192
3193 ingress:
3194 enabled: false
3195
3196 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
3197 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
3198 # ingressClassName: nginx
3199
3200 annotations: {}
3201 labels: {}
3202
3203 ## Redirect ingress to an additional defined port on the service
3204 # servicePort: 8081
3205
3206 ## Hostnames.
3207 ## Must be provided if Ingress is enabled.
3208 ##
3209 # hosts:
3210 # - prometheus.domain.com
3211 hosts: []
3212
3213 ## Paths to use for ingress rules - one path should match the prometheusSpec.routePrefix
3214 ##
3215 paths: []
3216 # - /
3217
3218 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
3219 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
3220 # pathType: ImplementationSpecific
3221
3222 ## TLS configuration for Prometheus Ingress
3223 ## Secret must be manually created in the namespace
3224 ##
3225 tls: []
3226 # - secretName: prometheus-general-tls
3227 # hosts:
3228 # - prometheus.example.com
3229
3230 ## Configuration for creating an Ingress that will map to each Prometheus replica service
3231 ## prometheus.servicePerReplica must be enabled
3232 ##
3233 ingressPerReplica:
3234 enabled: false
3235
3236 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
3237 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
3238 # ingressClassName: nginx
3239
3240 annotations: {}
3241 labels: {}
3242
3243 ## Final form of the hostname for each per replica ingress is
3244 ## {{ ingressPerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ ingressPerReplica.hostDomain }}
3245 ##
3246 ## Prefix for the per replica ingress that will have `-$replicaNumber`
3247 ## appended to the end
3248 hostPrefix: ""
3249 ## Domain that will be used for the per replica ingress
3250 hostDomain: ""
3251
3252 ## Paths to use for ingress rules
3253 ##
3254 paths: []
3255 # - /
3256
3257 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
3258 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
3259 # pathType: ImplementationSpecific
3260
3261 ## Secret name containing the TLS certificate for Prometheus per replica ingress
3262 ## Secret must be manually created in the namespace
3263 tlsSecretName: ""
3264
3265 ## Separated secret for each per replica Ingress. Can be used together with cert-manager
3266 ##
3267 tlsSecretPerReplica:
3268 enabled: false
3269 ## Final form of the secret for each per replica ingress is
3270 ## {{ tlsSecretPerReplica.prefix }}-{{ $replicaNumber }}
3271 ##
3272 prefix: "prometheus"
3273
3274 ## Configure additional options for default pod security policy for Prometheus
3275 ## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
3276 podSecurityPolicy:
3277 allowedCapabilities: []
3278 allowedHostPaths: []
3279 volumes: []
3280
3281 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03003282 ## If true, create a serviceMonitor for prometheus
3283 ##
3284 selfMonitor: true
3285
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003286 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
3287 ##
3288 interval: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003289
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003290 ## Additional labels
3291 ##
3292 additionalLabels: {}
3293
3294 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
3295 ##
3296 sampleLimit: 0
3297
3298 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
3299 ##
3300 targetLimit: 0
3301
3302 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
3303 ##
3304 labelLimit: 0
3305
3306 ## 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.
3307 ##
3308 labelNameLengthLimit: 0
3309
3310 ## 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.
3311 ##
3312 labelValueLengthLimit: 0
3313
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003314 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
3315 scheme: ""
3316
3317 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
3318 ## Of type: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
3319 tlsConfig: {}
3320
3321 bearerTokenFile:
3322
3323 ## Metric relabel configs to apply to samples before ingestion.
3324 ##
3325 metricRelabelings: []
3326 # - action: keep
3327 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
3328 # sourceLabels: [__name__]
3329
3330 # relabel configs to apply to samples before ingestion.
3331 ##
3332 relabelings: []
3333 # - sourceLabels: [__meta_kubernetes_pod_node_name]
3334 # separator: ;
3335 # regex: ^(.*)$
3336 # targetLabel: nodename
3337 # replacement: $1
3338 # action: replace
3339
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003340 ## Additional Endpoints
3341 ##
3342 additionalEndpoints: []
3343 # - port: oauth-metrics
3344 # path: /metrics
3345
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003346 ## Settings affecting prometheusSpec
3347 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheusspec
3348 ##
3349 prometheusSpec:
3350 ## If true, pass --storage.tsdb.max-block-duration=2h to prometheus. This is already done if using Thanos
3351 ##
3352 disableCompaction: false
3353 ## APIServerConfig
3354 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#apiserverconfig
3355 ##
3356 apiserverConfig: {}
3357
3358 ## Allows setting additional arguments for the Prometheus container
3359 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.Prometheus
3360 additionalArgs: []
3361
3362 ## Interval between consecutive scrapes.
3363 ## Defaults to 30s.
3364 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/release-0.44/pkg/prometheus/promcfg.go#L180-L183
3365 ##
3366 scrapeInterval: ""
3367
3368 ## Number of seconds to wait for target to respond before erroring
3369 ##
3370 scrapeTimeout: ""
3371
3372 ## Interval between consecutive evaluations.
3373 ##
3374 evaluationInterval: ""
3375
3376 ## ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP.
3377 ##
3378 listenLocal: false
3379
3380 ## EnableAdminAPI enables Prometheus the administrative HTTP API which includes functionality such as deleting time series.
3381 ## This is disabled by default.
3382 ## ref: https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis
3383 ##
3384 enableAdminAPI: false
3385
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003386 ## Sets version of Prometheus overriding the Prometheus version as derived
3387 ## from the image tag. Useful in cases where the tag does not follow semver v2.
3388 version: ""
3389
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003390 ## WebTLSConfig defines the TLS parameters for HTTPS
3391 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#webtlsconfig
3392 web: {}
3393
3394 ## Exemplars related settings that are runtime reloadable.
3395 ## It requires to enable the exemplar storage feature to be effective.
3396 exemplars: ""
3397 ## Maximum number of exemplars stored in memory for all series.
3398 ## If not set, Prometheus uses its default value.
3399 ## A value of zero or less than zero disables the storage.
3400 # maxSize: 100000
3401
3402 # EnableFeatures API enables access to Prometheus disabled features.
3403 # ref: https://prometheus.io/docs/prometheus/latest/disabled_features/
3404 enableFeatures: []
3405 # - exemplar-storage
3406
3407 ## Image of Prometheus.
3408 ##
3409 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003410 registry: quay.io
3411 repository: prometheus/prometheus
Giovanni Tirlonib9d97992024-04-24 01:32:56 -03003412 tag: v2.51.2
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003413 sha: ""
3414
3415 ## Tolerations for use with node taints
3416 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3417 ##
3418 tolerations: []
3419 # - key: "key"
3420 # operator: "Equal"
3421 # value: "value"
3422 # effect: "NoSchedule"
3423
3424 ## If specified, the pod's topology spread constraints.
3425 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
3426 ##
3427 topologySpreadConstraints: []
3428 # - maxSkew: 1
3429 # topologyKey: topology.kubernetes.io/zone
3430 # whenUnsatisfiable: DoNotSchedule
3431 # labelSelector:
3432 # matchLabels:
3433 # app: prometheus
3434
3435 ## Alertmanagers to which alerts will be sent
3436 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerendpoints
3437 ##
3438 ## Default configuration will connect to the alertmanager deployed as part of this release
3439 ##
3440 alertingEndpoints: []
3441 # - name: ""
3442 # namespace: ""
3443 # port: http
3444 # scheme: http
3445 # pathPrefix: ""
3446 # tlsConfig: {}
3447 # bearerTokenFile: ""
3448 # apiVersion: v2
3449
3450 ## External labels to add to any time series or alerts when communicating with external systems
3451 ##
3452 externalLabels: {}
3453
3454 ## enable --web.enable-remote-write-receiver flag on prometheus-server
3455 ##
3456 enableRemoteWriteReceiver: false
3457
3458 ## Name of the external label used to denote replica name
3459 ##
3460 replicaExternalLabelName: ""
3461
3462 ## If true, the Operator won't add the external label used to denote replica name
3463 ##
3464 replicaExternalLabelNameClear: false
3465
3466 ## Name of the external label used to denote Prometheus instance name
3467 ##
3468 prometheusExternalLabelName: ""
3469
3470 ## If true, the Operator won't add the external label used to denote Prometheus instance name
3471 ##
3472 prometheusExternalLabelNameClear: false
3473
3474 ## External URL at which Prometheus will be reachable.
3475 ##
3476 externalUrl: ""
3477
3478 ## Define which Nodes the Pods are scheduled on.
3479 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
3480 ##
3481 nodeSelector: {}
3482
3483 ## Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
3484 ## The Secrets are mounted into /etc/prometheus/secrets/. Secrets changes after initial creation of a Prometheus object are not
3485 ## reflected in the running Pods. To change the secrets mounted into the Prometheus Pods, the object must be deleted and recreated
3486 ## with the new list of secrets.
3487 ##
3488 secrets: []
3489
3490 ## ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
3491 ## The ConfigMaps are mounted into /etc/prometheus/configmaps/.
3492 ##
3493 configMaps: []
3494
3495 ## QuerySpec defines the query command line flags when starting Prometheus.
3496 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#queryspec
3497 ##
3498 query: {}
3499
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003500 ## If nil, select own namespace. Namespaces to be selected for PrometheusRules discovery.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003501 ruleNamespaceSelector: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003502 ## Example which selects PrometheusRules in namespaces with label "prometheus" set to "somelabel"
3503 # ruleNamespaceSelector:
3504 # matchLabels:
3505 # prometheus: somelabel
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003506
3507 ## If true, a nil or {} value for prometheus.prometheusSpec.ruleSelector will cause the
3508 ## prometheus resource to be created with selectors based on values in the helm deployment,
3509 ## which will also match the PrometheusRule resources created
3510 ##
3511 ruleSelectorNilUsesHelmValues: true
3512
3513 ## PrometheusRules to be selected for target discovery.
3514 ## If {}, select all PrometheusRules
3515 ##
3516 ruleSelector: {}
3517 ## Example which select all PrometheusRules resources
3518 ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
3519 # ruleSelector:
3520 # matchExpressions:
3521 # - key: prometheus
3522 # operator: In
3523 # values:
3524 # - example-rules
3525 # - example-rules-2
3526 #
3527 ## Example which select all PrometheusRules resources with label "role" set to "example-rules"
3528 # ruleSelector:
3529 # matchLabels:
3530 # role: example-rules
3531
3532 ## If true, a nil or {} value for prometheus.prometheusSpec.serviceMonitorSelector will cause the
3533 ## prometheus resource to be created with selectors based on values in the helm deployment,
3534 ## which will also match the servicemonitors created
3535 ##
3536 serviceMonitorSelectorNilUsesHelmValues: true
3537
3538 ## ServiceMonitors to be selected for target discovery.
3539 ## If {}, select all ServiceMonitors
3540 ##
3541 serviceMonitorSelector: {}
3542 ## Example which selects ServiceMonitors with label "prometheus" set to "somelabel"
3543 # serviceMonitorSelector:
3544 # matchLabels:
3545 # prometheus: somelabel
3546
3547 ## Namespaces to be selected for ServiceMonitor discovery.
3548 ##
3549 serviceMonitorNamespaceSelector: {}
3550 ## Example which selects ServiceMonitors in namespaces with label "prometheus" set to "somelabel"
3551 # serviceMonitorNamespaceSelector:
3552 # matchLabels:
3553 # prometheus: somelabel
3554
3555 ## If true, a nil or {} value for prometheus.prometheusSpec.podMonitorSelector will cause the
3556 ## prometheus resource to be created with selectors based on values in the helm deployment,
3557 ## which will also match the podmonitors created
3558 ##
3559 podMonitorSelectorNilUsesHelmValues: true
3560
3561 ## PodMonitors to be selected for target discovery.
3562 ## If {}, select all PodMonitors
3563 ##
3564 podMonitorSelector: {}
3565 ## Example which selects PodMonitors with label "prometheus" set to "somelabel"
3566 # podMonitorSelector:
3567 # matchLabels:
3568 # prometheus: somelabel
3569
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003570 ## If nil, select own namespace. Namespaces to be selected for PodMonitor discovery.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003571 podMonitorNamespaceSelector: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003572 ## Example which selects PodMonitor in namespaces with label "prometheus" set to "somelabel"
3573 # podMonitorNamespaceSelector:
3574 # matchLabels:
3575 # prometheus: somelabel
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003576
3577 ## If true, a nil or {} value for prometheus.prometheusSpec.probeSelector will cause the
3578 ## prometheus resource to be created with selectors based on values in the helm deployment,
3579 ## which will also match the probes created
3580 ##
3581 probeSelectorNilUsesHelmValues: true
3582
3583 ## Probes to be selected for target discovery.
3584 ## If {}, select all Probes
3585 ##
3586 probeSelector: {}
3587 ## Example which selects Probes with label "prometheus" set to "somelabel"
3588 # probeSelector:
3589 # matchLabels:
3590 # prometheus: somelabel
3591
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003592 ## If nil, select own namespace. Namespaces to be selected for Probe discovery.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003593 probeNamespaceSelector: {}
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003594 ## Example which selects Probe in namespaces with label "prometheus" set to "somelabel"
3595 # probeNamespaceSelector:
3596 # matchLabels:
3597 # prometheus: somelabel
3598
3599 ## If true, a nil or {} value for prometheus.prometheusSpec.scrapeConfigSelector will cause the
3600 ## prometheus resource to be created with selectors based on values in the helm deployment,
3601 ## which will also match the scrapeConfigs created
3602 ##
3603 scrapeConfigSelectorNilUsesHelmValues: true
3604
3605 ## scrapeConfigs to be selected for target discovery.
3606 ## If {}, select all scrapeConfigs
3607 ##
3608 scrapeConfigSelector: {}
3609 ## Example which selects scrapeConfigs with label "prometheus" set to "somelabel"
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003610 # scrapeConfigSelector:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003611 # matchLabels:
3612 # prometheus: somelabel
3613
3614 ## If nil, select own namespace. Namespaces to be selected for scrapeConfig discovery.
3615 scrapeConfigNamespaceSelector: {}
3616 ## Example which selects scrapeConfig in namespaces with label "prometheus" set to "somelabel"
3617 # scrapeConfigNamespaceSelector:
3618 # matchLabels:
3619 # prometheus: somelabel
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003620
3621 ## How long to retain metrics
3622 ##
3623 retention: 10d
3624
3625 ## Maximum size of metrics
3626 ##
3627 retentionSize: ""
3628
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003629 ## Allow out-of-order/out-of-bounds samples ingested into Prometheus for a specified duration
3630 ## See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#tsdb
3631 tsdb:
3632 outOfOrderTimeWindow: 0s
3633
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003634 ## Enable compression of the write-ahead log using Snappy.
3635 ##
3636 walCompression: true
3637
3638 ## If true, the Operator won't process any Prometheus configuration changes
3639 ##
3640 paused: false
3641
3642 ## Number of replicas of each shard to deploy for a Prometheus deployment.
3643 ## Number of replicas multiplied by shards is the total number of Pods created.
3644 ##
3645 replicas: 1
3646
3647 ## EXPERIMENTAL: Number of shards to distribute targets onto.
3648 ## Number of replicas multiplied by shards is the total number of Pods created.
3649 ## Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved.
3650 ## Increasing shards will not reshard data either but it will continue to be available from the same instances.
3651 ## To query globally use Thanos sidecar and Thanos querier or remote write data to a central location.
3652 ## Sharding is done on the content of the `__address__` target meta-label.
3653 ##
3654 shards: 1
3655
3656 ## Log level for Prometheus be configured in
3657 ##
3658 logLevel: info
3659
3660 ## Log format for Prometheus be configured in
3661 ##
3662 logFormat: logfmt
3663
3664 ## Prefix used to register routes, overriding externalUrl route.
3665 ## Useful for proxies that rewrite URLs.
3666 ##
3667 routePrefix: /
3668
3669 ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
3670 ## Metadata Labels and Annotations gets propagated to the prometheus pods.
3671 ##
3672 podMetadata: {}
3673 # labels:
3674 # app: prometheus
3675 # k8s-app: prometheus
3676
3677 ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
3678 ## 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.
3679 ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
3680 ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
3681 podAntiAffinity: ""
3682
3683 ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
3684 ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
3685 ##
3686 podAntiAffinityTopologyKey: kubernetes.io/hostname
3687
3688 ## Assign custom affinity rules to the prometheus instance
3689 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
3690 ##
3691 affinity: {}
3692 # nodeAffinity:
3693 # requiredDuringSchedulingIgnoredDuringExecution:
3694 # nodeSelectorTerms:
3695 # - matchExpressions:
3696 # - key: kubernetes.io/e2e-az-name
3697 # operator: In
3698 # values:
3699 # - e2e-az1
3700 # - e2e-az2
3701
3702 ## The remote_read spec configuration for Prometheus.
3703 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotereadspec
3704 remoteRead: []
3705 # - url: http://remote1/read
3706 ## additionalRemoteRead is appended to remoteRead
3707 additionalRemoteRead: []
3708
3709 ## The remote_write spec configuration for Prometheus.
3710 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotewritespec
3711 remoteWrite: []
3712 # - url: http://remote1/push
3713 ## additionalRemoteWrite is appended to remoteWrite
3714 additionalRemoteWrite: []
3715
3716 ## Enable/Disable Grafana dashboards provisioning for prometheus remote write feature
3717 remoteWriteDashboards: false
3718
3719 ## Resource limits & requests
3720 ##
3721 resources: {}
3722 # requests:
3723 # memory: 400Mi
3724
3725 ## Prometheus StorageSpec for persistent data
3726 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
3727 ##
3728 storageSpec: {}
3729 ## Using PersistentVolumeClaim
3730 ##
3731 # volumeClaimTemplate:
3732 # spec:
3733 # storageClassName: gluster
3734 # accessModes: ["ReadWriteOnce"]
3735 # resources:
3736 # requests:
3737 # storage: 50Gi
3738 # selector: {}
3739
3740 ## Using tmpfs volume
3741 ##
3742 # emptyDir:
3743 # medium: Memory
3744
3745 # Additional volumes on the output StatefulSet definition.
3746 volumes: []
3747
3748 # Additional VolumeMounts on the output StatefulSet definition.
3749 volumeMounts: []
3750
3751 ## AdditionalScrapeConfigs allows specifying additional Prometheus scrape configurations. Scrape configurations
3752 ## are appended to the configurations generated by the Prometheus Operator. Job configurations must have the form
3753 ## as specified in the official Prometheus documentation:
3754 ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. As scrape configs are
3755 ## appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility
3756 ## to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible
3757 ## scrape configs are going to break Prometheus after the upgrade.
3758 ## AdditionalScrapeConfigs can be defined as a list or as a templated string.
3759 ##
3760 ## The scrape configuration example below will find master nodes, provided they have the name .*mst.*, relabel the
3761 ## port to 2379 and allow etcd scraping provided it is running on all Kubernetes master nodes
3762 ##
3763 additionalScrapeConfigs: []
3764 # - job_name: kube-etcd
3765 # kubernetes_sd_configs:
3766 # - role: node
3767 # scheme: https
3768 # tls_config:
3769 # ca_file: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
3770 # cert_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client
3771 # key_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
3772 # relabel_configs:
3773 # - action: labelmap
3774 # regex: __meta_kubernetes_node_label_(.+)
3775 # - source_labels: [__address__]
3776 # action: replace
3777 # targetLabel: __address__
3778 # regex: ([^:;]+):(\d+)
3779 # replacement: ${1}:2379
3780 # - source_labels: [__meta_kubernetes_node_name]
3781 # action: keep
3782 # regex: .*mst.*
3783 # - source_labels: [__meta_kubernetes_node_name]
3784 # action: replace
3785 # targetLabel: node
3786 # regex: (.*)
3787 # replacement: ${1}
3788 # metric_relabel_configs:
3789 # - 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)
3790 # action: labeldrop
3791 #
3792 ## If scrape config contains a repetitive section, you may want to use a template.
3793 ## In the following example, you can see how to define `gce_sd_configs` for multiple zones
3794 # additionalScrapeConfigs: |
3795 # - job_name: "node-exporter"
3796 # gce_sd_configs:
3797 # {{range $zone := .Values.gcp_zones}}
3798 # - project: "project1"
3799 # zone: "{{$zone}}"
3800 # port: 9100
3801 # {{end}}
3802 # relabel_configs:
3803 # ...
3804
3805
3806 ## If additional scrape configurations are already deployed in a single secret file you can use this section.
3807 ## Expected values are the secret name and key
3808 ## Cannot be used with additionalScrapeConfigs
3809 additionalScrapeConfigsSecret: {}
3810 # enabled: false
3811 # name:
3812 # key:
3813
3814 ## additionalPrometheusSecretsAnnotations allows to add annotations to the kubernetes secret. This can be useful
3815 ## when deploying via spinnaker to disable versioning on the secret, strategy.spinnaker.io/versioned: 'false'
3816 additionalPrometheusSecretsAnnotations: {}
3817
3818 ## AdditionalAlertManagerConfigs allows for manual configuration of alertmanager jobs in the form as specified
3819 ## in the official Prometheus documentation https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<alertmanager_config>.
3820 ## AlertManager configurations specified are appended to the configurations generated by the Prometheus Operator.
3821 ## As AlertManager configs are appended, the user is responsible to make sure it is valid. Note that using this
3822 ## feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release
3823 ## notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade.
3824 ##
3825 additionalAlertManagerConfigs: []
3826 # - consul_sd_configs:
3827 # - server: consul.dev.test:8500
3828 # scheme: http
3829 # datacenter: dev
3830 # tag_separator: ','
3831 # services:
3832 # - metrics-prometheus-alertmanager
3833
3834 ## If additional alertmanager configurations are already deployed in a single secret, or you want to manage
3835 ## them separately from the helm deployment, you can use this section.
3836 ## Expected values are the secret name and key
3837 ## Cannot be used with additionalAlertManagerConfigs
3838 additionalAlertManagerConfigsSecret: {}
3839 # name:
3840 # key:
3841 # optional: false
3842
3843 ## AdditionalAlertRelabelConfigs allows specifying Prometheus alert relabel configurations. Alert relabel configurations specified are appended
3844 ## to the configurations generated by the Prometheus Operator. Alert relabel configurations specified must have the form as specified in the
3845 ## official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs.
3846 ## As alert relabel configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the
3847 ## possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel
3848 ## configs are going to break Prometheus after the upgrade.
3849 ##
3850 additionalAlertRelabelConfigs: []
3851 # - separator: ;
3852 # regex: prometheus_replica
3853 # replacement: $1
3854 # action: labeldrop
3855
3856 ## If additional alert relabel configurations are already deployed in a single secret, or you want to manage
3857 ## them separately from the helm deployment, you can use this section.
3858 ## Expected values are the secret name and key
3859 ## Cannot be used with additionalAlertRelabelConfigs
3860 additionalAlertRelabelConfigsSecret: {}
3861 # name:
3862 # key:
3863
3864 ## SecurityContext holds pod-level security attributes and common container settings.
3865 ## This defaults to non root user with uid 1000 and gid 2000.
3866 ## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md
3867 ##
3868 securityContext:
3869 runAsGroup: 2000
3870 runAsNonRoot: true
3871 runAsUser: 1000
3872 fsGroup: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04003873 seccompProfile:
3874 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003875
3876 ## Priority class assigned to the Pods
3877 ##
3878 priorityClassName: ""
3879
3880 ## Thanos configuration allows configuring various aspects of a Prometheus server in a Thanos environment.
3881 ## This section is experimental, it may change significantly without deprecation notice in any release.
3882 ## This is experimental and may change significantly without backward compatibility in any release.
3883 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosspec
3884 ##
3885 thanos: {}
3886 # secretProviderClass:
3887 # provider: gcp
3888 # parameters:
3889 # secrets: |
3890 # - resourceName: "projects/$PROJECT_ID/secrets/testsecret/versions/latest"
3891 # fileName: "objstore.yaml"
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003892 ## ObjectStorageConfig configures object storage in Thanos.
3893 # objectStorageConfig:
3894 # # use existing secret, if configured, objectStorageConfig.secret will not be used
3895 # existingSecret: {}
3896 # # name: ""
3897 # # key: ""
3898 # # will render objectStorageConfig secret data and configure it to be used by Thanos custom resource,
3899 # # ignored when prometheusspec.thanos.objectStorageConfig.existingSecret is set
3900 # # https://thanos.io/tip/thanos/storage.md/#s3
3901 # secret: {}
3902 # # type: S3
3903 # # config:
3904 # # bucket: ""
3905 # # endpoint: ""
3906 # # region: ""
3907 # # access_key: ""
3908 # # secret_key: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003909
3910 ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod.
3911 ## if using proxy extraContainer update targetPort with proxy container port
3912 containers: []
3913 # containers:
3914 # - name: oauth-proxy
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003915 # image: quay.io/oauth2-proxy/oauth2-proxy:v7.5.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003916 # args:
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003917 # - --upstream=http://127.0.0.1:9090
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003918 # - --http-address=0.0.0.0:8081
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003919 # - --metrics-address=0.0.0.0:8082
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003920 # - ...
3921 # ports:
3922 # - containerPort: 8081
3923 # name: oauth-proxy
3924 # protocol: TCP
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003925 # - containerPort: 8082
3926 # name: oauth-metrics
3927 # protocol: TCP
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003928 # resources: {}
3929
3930 ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
3931 ## (permissions, dir tree) on mounted volumes before starting prometheus
3932 initContainers: []
3933
3934 ## PortName to use for Prometheus.
3935 ##
3936 portName: "http-web"
3937
3938 ## ArbitraryFSAccessThroughSMs configures whether configuration based on a service monitor can access arbitrary files
3939 ## on the file system of the Prometheus container e.g. bearer token files.
3940 arbitraryFSAccessThroughSMs: false
3941
3942 ## OverrideHonorLabels if set to true overrides all user configured honor_labels. If HonorLabels is set in ServiceMonitor
3943 ## or PodMonitor to true, this overrides honor_labels to false.
3944 overrideHonorLabels: false
3945
3946 ## OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs.
3947 overrideHonorTimestamps: false
3948
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003949 ## When ignoreNamespaceSelectors is set to true, namespaceSelector from all PodMonitor, ServiceMonitor and Probe objects will be ignored,
3950 ## they will only discover targets within the namespace of the PodMonitor, ServiceMonitor and Probe object,
3951 ## and servicemonitors will be installed in the default service namespace.
3952 ## Defaults to false.
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003953 ignoreNamespaceSelectors: false
3954
3955 ## EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created.
3956 ## The label value will always be the namespace of the object that is being created.
3957 ## Disabled by default
3958 enforcedNamespaceLabel: ""
3959
3960 ## PrometheusRulesExcludedFromEnforce - list of prometheus rules to be excluded from enforcing of adding namespace labels.
3961 ## Works only if enforcedNamespaceLabel set to true. Make sure both ruleNamespace and ruleName are set for each pair
3962 ## Deprecated, use `excludedFromEnforcement` instead
3963 prometheusRulesExcludedFromEnforce: []
3964
3965 ## ExcludedFromEnforcement - list of object references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects
3966 ## to be excluded from enforcing a namespace label of origin.
3967 ## Works only if enforcedNamespaceLabel set to true.
3968 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#objectreference
3969 excludedFromEnforcement: []
3970
3971 ## QueryLogFile specifies the file to which PromQL queries are logged. Note that this location must be writable,
3972 ## and can be persisted using an attached volume. Alternatively, the location can be set to a stdout location such
3973 ## as /dev/stdout to log querie information to the default Prometheus log stream. This is only available in versions
3974 ## of Prometheus >= 2.16.0. For more details, see the Prometheus docs (https://prometheus.io/docs/guides/query-log/)
3975 queryLogFile: false
3976
Mohammed Naser91e2fa02024-02-23 01:46:39 -05003977 # Use to set global sample_limit for Prometheus. This act as default SampleLimit for ServiceMonitor or/and PodMonitor.
3978 # Set to 'false' to disable global sample_limit. or set to a number to override the default value.
3979 sampleLimit: false
3980
3981 # EnforcedKeepDroppedTargetsLimit defines on the number of targets dropped by relabeling that will be kept in memory.
3982 # The value overrides any spec.keepDroppedTargets set by ServiceMonitor, PodMonitor, Probe objects unless spec.keepDroppedTargets
3983 # is greater than zero and less than spec.enforcedKeepDroppedTargets. 0 means no limit.
3984 enforcedKeepDroppedTargets: 0
3985
Mohammed Naser9ad0d462023-01-15 20:36:37 -05003986 ## EnforcedSampleLimit defines global limit on number of scraped samples that will be accepted. This overrides any SampleLimit
3987 ## set per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the SampleLimit to keep overall
3988 ## number of samples/series under the desired limit. Note that if SampleLimit is lower that value will be taken instead.
3989 enforcedSampleLimit: false
3990
3991 ## EnforcedTargetLimit defines a global limit on the number of scraped targets. This overrides any TargetLimit set
3992 ## per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the TargetLimit to keep the overall
3993 ## number of targets under the desired limit. Note that if TargetLimit is lower, that value will be taken instead, except
3994 ## if either value is zero, in which case the non-zero value will be used. If both values are zero, no limit is enforced.
3995 enforcedTargetLimit: false
3996
3997
3998 ## Per-scrape limit on number of labels that will be accepted for a sample. If more than this number of labels are present
3999 ## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions
4000 ## 2.27.0 and newer.
4001 enforcedLabelLimit: false
4002
4003 ## Per-scrape limit on length of labels name that will be accepted for a sample. If a label name is longer than this number
4004 ## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions
4005 ## 2.27.0 and newer.
4006 enforcedLabelNameLengthLimit: false
4007
4008 ## Per-scrape limit on length of labels value that will be accepted for a sample. If a label value is longer than this
4009 ## number post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus
4010 ## versions 2.27.0 and newer.
4011 enforcedLabelValueLengthLimit: false
4012
4013 ## AllowOverlappingBlocks enables vertical compaction and vertical query merge in Prometheus. This is still experimental
4014 ## in Prometheus so it may change in any upcoming release.
4015 allowOverlappingBlocks: false
4016
4017 ## Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to
4018 ## be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).
4019 minReadySeconds: 0
4020
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004021 # Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico),
4022 # because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working
4023 # Use the host's network namespace if true. Make sure to understand the security implications if you want to enable it.
4024 # When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet automatically.
4025 hostNetwork: false
4026
4027 # HostAlias holds the mapping between IP and hostnames that will be injected
4028 # as an entry in the pod’s hosts file.
4029 hostAliases: []
4030 # - ip: 10.10.0.100
4031 # hostnames:
4032 # - a1.app.local
4033 # - b1.app.local
4034
4035 ## TracingConfig configures tracing in Prometheus.
4036 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheustracingconfig
4037 tracingConfig: {}
4038
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004039 ## Additional configuration which is not covered by the properties above. (passed through tpl)
4040 additionalConfig: {}
4041
4042 ## Additional configuration which is not covered by the properties above.
4043 ## Useful, if you need advanced templating inside alertmanagerSpec.
4044 ## Otherwise, use prometheus.prometheusSpec.additionalConfig (passed through tpl)
4045 additionalConfigString: ""
4046
4047 ## Defines the maximum time that the `prometheus` container's startup probe
4048 ## will wait before being considered failed. The startup probe will return
4049 ## success after the WAL replay is complete. If set, the value should be
4050 ## greater than 60 (seconds). Otherwise it will be equal to 600 seconds (15
4051 ## minutes).
4052 maximumStartupDurationSeconds: 0
4053
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004054 additionalRulesForClusterRole: []
4055 # - apiGroups: [ "" ]
4056 # resources:
4057 # - nodes/proxy
4058 # verbs: [ "get", "list", "watch" ]
4059
4060 additionalServiceMonitors: []
4061 ## Name of the ServiceMonitor to create
4062 ##
4063 # - name: ""
4064
4065 ## Additional labels to set used for the ServiceMonitorSelector. Together with standard labels from
4066 ## the chart
4067 ##
4068 # additionalLabels: {}
4069
4070 ## Service label for use in assembling a job name of the form <label value>-<port>
4071 ## If no label is specified, the service name is used.
4072 ##
4073 # jobLabel: ""
4074
4075 ## labels to transfer from the kubernetes service to the target
4076 ##
4077 # targetLabels: []
4078
4079 ## labels to transfer from the kubernetes pods to the target
4080 ##
4081 # podTargetLabels: []
4082
4083 ## Label selector for services to which this ServiceMonitor applies
4084 ##
4085 # selector: {}
4086
4087 ## Namespaces from which services are selected
4088 ##
4089 # namespaceSelector:
4090 ## Match any namespace
4091 ##
4092 # any: false
4093
4094 ## Explicit list of namespace names to select
4095 ##
4096 # matchNames: []
4097
4098 ## Endpoints of the selected service to be monitored
4099 ##
4100 # endpoints: []
4101 ## Name of the endpoint's service port
4102 ## Mutually exclusive with targetPort
4103 # - port: ""
4104
4105 ## Name or number of the endpoint's target port
4106 ## Mutually exclusive with port
4107 # - targetPort: ""
4108
4109 ## File containing bearer token to be used when scraping targets
4110 ##
4111 # bearerTokenFile: ""
4112
4113 ## Interval at which metrics should be scraped
4114 ##
4115 # interval: 30s
4116
4117 ## HTTP path to scrape for metrics
4118 ##
4119 # path: /metrics
4120
4121 ## HTTP scheme to use for scraping
4122 ##
4123 # scheme: http
4124
4125 ## TLS configuration to use when scraping the endpoint
4126 ##
4127 # tlsConfig:
4128
4129 ## Path to the CA file
4130 ##
4131 # caFile: ""
4132
4133 ## Path to client certificate file
4134 ##
4135 # certFile: ""
4136
4137 ## Skip certificate verification
4138 ##
4139 # insecureSkipVerify: false
4140
4141 ## Path to client key file
4142 ##
4143 # keyFile: ""
4144
4145 ## Server name used to verify host name
4146 ##
4147 # serverName: ""
4148
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004149 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
4150 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4151 ##
4152 # metricRelabelings: []
4153 # - action: keep
4154 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
4155 # sourceLabels: [__name__]
4156
4157 ## RelabelConfigs to apply to samples before scraping
4158 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4159 ##
4160 # relabelings: []
4161 # - sourceLabels: [__meta_kubernetes_pod_node_name]
4162 # separator: ;
4163 # regex: ^(.*)$
4164 # targetLabel: nodename
4165 # replacement: $1
4166 # action: replace
4167
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004168 additionalPodMonitors: []
4169 ## Name of the PodMonitor to create
4170 ##
4171 # - name: ""
4172
4173 ## Additional labels to set used for the PodMonitorSelector. Together with standard labels from
4174 ## the chart
4175 ##
4176 # additionalLabels: {}
4177
4178 ## Pod label for use in assembling a job name of the form <label value>-<port>
4179 ## If no label is specified, the pod endpoint name is used.
4180 ##
4181 # jobLabel: ""
4182
4183 ## Label selector for pods to which this PodMonitor applies
4184 ##
4185 # selector: {}
4186
4187 ## PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
4188 ##
4189 # podTargetLabels: {}
4190
4191 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
4192 ##
4193 # sampleLimit: 0
4194
4195 ## Namespaces from which pods are selected
4196 ##
4197 # namespaceSelector:
4198 ## Match any namespace
4199 ##
4200 # any: false
4201
4202 ## Explicit list of namespace names to select
4203 ##
4204 # matchNames: []
4205
4206 ## Endpoints of the selected pods to be monitored
4207 ## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#podmetricsendpoint
4208 ##
4209 # podMetricsEndpoints: []
4210
4211## Configuration for thanosRuler
4212## ref: https://thanos.io/tip/components/rule.md/
4213##
4214thanosRuler:
4215
4216 ## Deploy thanosRuler
4217 ##
4218 enabled: false
4219
4220 ## Annotations for ThanosRuler
4221 ##
4222 annotations: {}
4223
4224 ## Service account for ThanosRuler to use.
4225 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
4226 ##
4227 serviceAccount:
4228 create: true
4229 name: ""
4230 annotations: {}
4231
4232 ## Configure pod disruption budgets for ThanosRuler
4233 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004234 ##
4235 podDisruptionBudget:
4236 enabled: false
4237 minAvailable: 1
4238 maxUnavailable: ""
4239
4240 ingress:
4241 enabled: false
4242
4243 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
4244 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
4245 # ingressClassName: nginx
4246
4247 annotations: {}
4248
4249 labels: {}
4250
4251 ## Hosts must be provided if Ingress is enabled.
4252 ##
4253 hosts: []
4254 # - thanosruler.domain.com
4255
4256 ## Paths to use for ingress rules - one path should match the thanosruler.routePrefix
4257 ##
4258 paths: []
4259 # - /
4260
4261 ## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched)
4262 ## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types
4263 # pathType: ImplementationSpecific
4264
4265 ## TLS configuration for ThanosRuler Ingress
4266 ## Secret must be manually created in the namespace
4267 ##
4268 tls: []
4269 # - secretName: thanosruler-general-tls
4270 # hosts:
4271 # - thanosruler.example.com
4272
4273 ## Configuration for ThanosRuler service
4274 ##
4275 service:
4276 annotations: {}
4277 labels: {}
4278 clusterIP: ""
Mohammed Naser65cda132024-05-02 14:34:08 -04004279 ipDualStack:
4280 enabled: false
4281 ipFamilies: ["IPv6", "IPv4"]
4282 ipFamilyPolicy: "PreferDualStack"
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004283
4284 ## Port for ThanosRuler Service to listen on
4285 ##
4286 port: 10902
4287 ## To be used with a proxy extraContainer port
4288 ##
4289 targetPort: 10902
4290 ## Port to expose on each node
4291 ## Only used if service.type is 'NodePort'
4292 ##
4293 nodePort: 30905
4294 ## List of IP addresses at which the Prometheus server service is available
4295 ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
4296 ##
4297
4298 ## Additional ports to open for ThanosRuler service
4299 additionalPorts: []
4300
4301 externalIPs: []
4302 loadBalancerIP: ""
4303 loadBalancerSourceRanges: []
4304
4305 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
4306 ##
4307 externalTrafficPolicy: Cluster
4308
4309 ## Service type
4310 ##
4311 type: ClusterIP
4312
Giovanni Tirloni59219b62024-04-09 14:50:25 -03004313 ## Configuration for creating a ServiceMonitor for the ThanosRuler service
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004314 ##
4315 serviceMonitor:
Giovanni Tirloni59219b62024-04-09 14:50:25 -03004316 ## If true, create a serviceMonitor for thanosRuler
4317 ##
4318 selfMonitor: true
4319
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004320 ## Scrape interval. If not set, the Prometheus default scrape interval is used.
4321 ##
4322 interval: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004323
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004324 ## Additional labels
4325 ##
4326 additionalLabels: {}
4327
4328 ## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
4329 ##
4330 sampleLimit: 0
4331
4332 ## TargetLimit defines a limit on the number of scraped targets that will be accepted.
4333 ##
4334 targetLimit: 0
4335
4336 ## Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
4337 ##
4338 labelLimit: 0
4339
4340 ## 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.
4341 ##
4342 labelNameLengthLimit: 0
4343
4344 ## 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.
4345 ##
4346 labelValueLengthLimit: 0
4347
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004348 ## proxyUrl: URL of a proxy that should be used for scraping.
4349 ##
4350 proxyUrl: ""
4351
4352 ## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS.
4353 scheme: ""
4354
4355 ## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS.
4356 ## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig
4357 tlsConfig: {}
4358
4359 bearerTokenFile:
4360
4361 ## MetricRelabelConfigs to apply to samples after scraping, but before ingestion.
4362 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4363 ##
4364 metricRelabelings: []
4365 # - action: keep
4366 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
4367 # sourceLabels: [__name__]
4368
4369 ## RelabelConfigs to apply to samples before scraping
4370 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
4371 ##
4372 relabelings: []
4373 # - sourceLabels: [__meta_kubernetes_pod_node_name]
4374 # separator: ;
4375 # regex: ^(.*)$
4376 # targetLabel: nodename
4377 # replacement: $1
4378 # action: replace
4379
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004380 ## Additional Endpoints
4381 ##
4382 additionalEndpoints: []
4383 # - port: oauth-metrics
4384 # path: /metrics
4385
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004386 ## Settings affecting thanosRulerpec
4387 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosrulerspec
4388 ##
4389 thanosRulerSpec:
4390 ## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata
4391 ## Metadata Labels and Annotations gets propagated to the ThanosRuler pods.
4392 ##
4393 podMetadata: {}
4394
4395 ## Image of ThanosRuler
4396 ##
4397 image:
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004398 registry: quay.io
4399 repository: thanos/thanos
Giovanni Tirloni59219b62024-04-09 14:50:25 -03004400 tag: v0.34.1
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004401 sha: ""
4402
4403 ## Namespaces to be selected for PrometheusRules discovery.
4404 ## If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery.
4405 ## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage
4406 ##
4407 ruleNamespaceSelector: {}
4408
4409 ## If true, a nil or {} value for thanosRuler.thanosRulerSpec.ruleSelector will cause the
4410 ## prometheus resource to be created with selectors based on values in the helm deployment,
4411 ## which will also match the PrometheusRule resources created
4412 ##
4413 ruleSelectorNilUsesHelmValues: true
4414
4415 ## PrometheusRules to be selected for target discovery.
4416 ## If {}, select all PrometheusRules
4417 ##
4418 ruleSelector: {}
4419 ## Example which select all PrometheusRules resources
4420 ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
4421 # ruleSelector:
4422 # matchExpressions:
4423 # - key: prometheus
4424 # operator: In
4425 # values:
4426 # - example-rules
4427 # - example-rules-2
4428 #
4429 ## Example which select all PrometheusRules resources with label "role" set to "example-rules"
4430 # ruleSelector:
4431 # matchLabels:
4432 # role: example-rules
4433
4434 ## Define Log Format
4435 # Use logfmt (default) or json logging
4436 logFormat: logfmt
4437
4438 ## Log level for ThanosRuler to be configured with.
4439 ##
4440 logLevel: info
4441
4442 ## Size is the expected size of the thanosRuler cluster. The controller will eventually make the size of the
4443 ## running cluster equal to the expected size.
4444 replicas: 1
4445
4446 ## Time duration ThanosRuler shall retain data for. Default is '24h', and must match the regular expression
4447 ## [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours).
4448 ##
4449 retention: 24h
4450
4451 ## Interval between consecutive evaluations.
4452 ##
4453 evaluationInterval: ""
4454
4455 ## Storage is the definition of how storage will be used by the ThanosRuler instances.
4456 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md
4457 ##
4458 storage: {}
4459 # volumeClaimTemplate:
4460 # spec:
4461 # storageClassName: gluster
4462 # accessModes: ["ReadWriteOnce"]
4463 # resources:
4464 # requests:
4465 # storage: 50Gi
4466 # selector: {}
4467
4468 ## AlertmanagerConfig define configuration for connecting to alertmanager.
4469 ## Only available with Thanos v0.10.0 and higher. Maps to the alertmanagers.config Thanos Ruler arg.
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004470 alertmanagersConfig:
4471 # use existing secret, if configured, alertmanagersConfig.secret will not be used
4472 existingSecret: {}
4473 # name: ""
4474 # key: ""
4475 # will render render alertmanagersConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when alertmanagersConfig.existingSecret is set
4476 # https://thanos.io/tip/components/rule.md/#alertmanager
4477 secret: {}
4478 # alertmanagers:
4479 # - api_version: v2
4480 # http_config:
4481 # basic_auth:
4482 # username: some_user
4483 # password: some_pass
4484 # static_configs:
4485 # - alertmanager.thanos.io
4486 # scheme: http
4487 # timeout: 10s
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004488
4489 ## DEPRECATED. Define URLs to send alerts to Alertmanager. For Thanos v0.10.0 and higher, alertmanagersConfig should be used instead.
4490 ## Note: this field will be ignored if alertmanagersConfig is specified. Maps to the alertmanagers.url Thanos Ruler arg.
4491 # alertmanagersUrl:
4492
4493 ## 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
4494 ##
4495 externalPrefix:
4496
Giovanni Tirlonib9d97992024-04-24 01:32:56 -03004497 ## If true, http://{{ template "kube-prometheus-stack.thanosRuler.name" . }}.{{ template "kube-prometheus-stack.namespace" . }}:{{ .Values.thanosRuler.service.port }}
4498 ## will be used as value for externalPrefix
4499 externalPrefixNilUsesHelmValues: true
4500
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004501 ## 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,
4502 ## but the server serves requests under a different route prefix. For example for use with kubectl proxy.
4503 ##
4504 routePrefix: /
4505
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004506 ## ObjectStorageConfig configures object storage in Thanos
4507 objectStorageConfig:
4508 # use existing secret, if configured, objectStorageConfig.secret will not be used
4509 existingSecret: {}
4510 # name: ""
4511 # key: ""
4512 # will render objectStorageConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when objectStorageConfig.existingSecret is set
4513 # https://thanos.io/tip/thanos/storage.md/#s3
4514 secret: {}
4515 # type: S3
4516 # config:
4517 # bucket: ""
4518 # endpoint: ""
4519 # region: ""
4520 # access_key: ""
4521 # secret_key: ""
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004522
Giovanni Tirlonib9d97992024-04-24 01:32:56 -03004523 ## Labels by name to drop before sending to alertmanager
4524 ## Maps to the --alert.label-drop flag of thanos ruler.
4525 alertDropLabels: []
4526
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004527 ## QueryEndpoints defines Thanos querier endpoints from which to query metrics.
4528 ## Maps to the --query flag of thanos ruler.
4529 queryEndpoints: []
4530
4531 ## Define configuration for connecting to thanos query instances. If this is defined, the queryEndpoints field will be ignored.
4532 ## Maps to the query.config CLI argument. Only available with thanos v0.11.0 and higher.
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004533 queryConfig:
4534 # use existing secret, if configured, queryConfig.secret will not be used
4535 existingSecret: {}
4536 # name: ""
4537 # key: ""
4538 # render queryConfig secret data and configure it to be used by Thanos Ruler custom resource, ignored when queryConfig.existingSecret is set
4539 # https://thanos.io/tip/components/rule.md/#query-api
4540 secret: {}
4541 # - http_config:
4542 # basic_auth:
4543 # username: some_user
4544 # password: some_pass
4545 # static_configs:
4546 # - URL
4547 # scheme: http
4548 # timeout: 10s
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004549
4550 ## Labels configure the external label pairs to ThanosRuler. A default replica
4551 ## label `thanos_ruler_replica` will be always added as a label with the value
4552 ## of the pod's name and it will be dropped in the alerts.
4553 labels: {}
4554
4555 ## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
4556 ##
4557 paused: false
4558
Mohammed Naser91e2fa02024-02-23 01:46:39 -05004559 ## Allows setting additional arguments for the ThanosRuler container
4560 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosruler
4561 ##
4562 additionalArgs: []
4563 # - name: remote-write.config
4564 # value: |-
4565 # "remote_write":
4566 # - "name": "receiver-0"
4567 # "remote_timeout": "30s"
4568 # "url": "http://thanos-receiver-0.thanos-receiver:8081/api/v1/receive"
4569
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004570 ## Define which Nodes the Pods are scheduled on.
4571 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
4572 ##
4573 nodeSelector: {}
4574
4575 ## Define resources requests and limits for single Pods.
4576 ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
4577 ##
4578 resources: {}
4579 # requests:
4580 # memory: 400Mi
4581
4582 ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
4583 ## 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.
4584 ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
4585 ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
4586 ##
4587 podAntiAffinity: ""
4588
4589 ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
4590 ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
4591 ##
4592 podAntiAffinityTopologyKey: kubernetes.io/hostname
4593
4594 ## Assign custom affinity rules to the thanosRuler instance
4595 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
4596 ##
4597 affinity: {}
4598 # nodeAffinity:
4599 # requiredDuringSchedulingIgnoredDuringExecution:
4600 # nodeSelectorTerms:
4601 # - matchExpressions:
4602 # - key: kubernetes.io/e2e-az-name
4603 # operator: In
4604 # values:
4605 # - e2e-az1
4606 # - e2e-az2
4607
4608 ## If specified, the pod's tolerations.
4609 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4610 ##
4611 tolerations: []
4612 # - key: "key"
4613 # operator: "Equal"
4614 # value: "value"
4615 # effect: "NoSchedule"
4616
4617 ## If specified, the pod's topology spread constraints.
4618 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
4619 ##
4620 topologySpreadConstraints: []
4621 # - maxSkew: 1
4622 # topologyKey: topology.kubernetes.io/zone
4623 # whenUnsatisfiable: DoNotSchedule
4624 # labelSelector:
4625 # matchLabels:
4626 # app: thanos-ruler
4627
4628 ## SecurityContext holds pod-level security attributes and common container settings.
4629 ## This defaults to non root user with uid 1000 and gid 2000. *v1.PodSecurityContext false
4630 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4631 ##
4632 securityContext:
4633 runAsGroup: 2000
4634 runAsNonRoot: true
4635 runAsUser: 1000
4636 fsGroup: 2000
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004637 seccompProfile:
4638 type: RuntimeDefault
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004639
4640 ## ListenLocal makes the ThanosRuler server listen on loopback, so that it does not bind against the Pod IP.
4641 ## Note this is only for the ThanosRuler UI, not the gossip communication.
4642 ##
4643 listenLocal: false
4644
4645 ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an ThanosRuler pod.
4646 ##
4647 containers: []
4648
4649 # Additional volumes on the output StatefulSet definition.
4650 volumes: []
4651
4652 # Additional VolumeMounts on the output StatefulSet definition.
4653 volumeMounts: []
4654
4655 ## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes
4656 ## (permissions, dir tree) on mounted volumes before starting prometheus
4657 initContainers: []
4658
4659 ## Priority class assigned to the Pods
4660 ##
4661 priorityClassName: ""
4662
4663 ## PortName to use for ThanosRuler.
4664 ##
4665 portName: "web"
4666
Giovanni Tirlonib9d97992024-04-24 01:32:56 -03004667 ## Additional configuration which is not covered by the properties above. (passed through tpl)
4668 additionalConfig: {}
4669
4670 ## Additional configuration which is not covered by the properties above.
4671 ## Useful, if you need advanced templating
4672 additionalConfigString: ""
4673
Mohammed Naser9ad0d462023-01-15 20:36:37 -05004674 ## ExtraSecret can be used to store various data in an extra secret
4675 ## (use it for example to store hashed basic auth credentials)
4676 extraSecret:
4677 ## if not set, name will be auto generated
4678 # name: ""
4679 annotations: {}
4680 data: {}
4681 # auth: |
4682 # foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0
4683 # someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c.
4684
4685## 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.
4686##
4687cleanPrometheusOperatorObjectNames: false
Mohammed Naser5b49cbb2023-08-30 16:16:37 -04004688
4689## Extra manifests to deploy as an array
4690extraManifests: []
4691 # - apiVersion: v1
4692 # kind: ConfigMap
4693 # metadata:
4694 # labels:
4695 # name: prometheus-extra
4696 # data:
4697 # extra-data: "value"