Collection Service Helm charts package
[demo.git] / vnfs / DAaaS / collection / charts / prometheus-operator / values_new.yaml
1 # Default values for prometheus-operator.
2 # This is a YAML-formatted file.
3 # Declare variables to be passed into your templates.
4
5 ## Provide a name in place of prometheus-operator for `app:` labels
6 ##
7 nameOverride: ""
8
9 ## Provide a name to substitute for the full names of resources
10 ##
11 fullnameOverride: ""
12
13 ## Labels to apply to all resources
14 ##
15 commonLabels: {}
16 # scmhash: abc123
17 # myLabel: aakkmd
18
19 ## Create default rules for monitoring the cluster
20 ##
21 defaultRules:
22   create: true
23   rules:
24     alertmanager: true
25     etcd: true
26     general: true
27     k8s: true
28     kubeApiserver: true
29     kubePrometheusNodeAlerting: true
30     kubePrometheusNodeRecording: true
31     kubeScheduler: true
32     kubernetesAbsent: true
33     kubernetesApps: true
34     kubernetesResources: true
35     kubernetesStorage: true
36     kubernetesSystem: true
37     node: true
38     prometheusOperator: true
39     prometheus: true
40   ## Labels for default rules
41   labels: {}
42   ## Annotations for default rules
43   annotations: {}
44
45 ## Provide custom recording or alerting rules to be deployed into the cluster.
46 ##
47 additionalPrometheusRules: []
48 #  - name: my-rule-file
49 #    groups:
50 #      - name: my_group
51 #        rules:
52 #        - record: my_record
53 #          expr: 100 * my_record
54
55 ##
56 global:
57   rbac:
58     create: true
59     pspEnabled: true
60
61   ## Reference to one or more secrets to be used when pulling images
62   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
63   ##
64   imagePullSecrets: []
65   # - name: "image-pull-secret"
66
67 ## Configuration for alertmanager
68 ## ref: https://prometheus.io/docs/alerting/alertmanager/
69 ##
70 alertmanager:
71
72   ## Deploy alertmanager
73   ##
74   enabled: true
75
76   ## Service account for Alertmanager to use.
77   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
78   ##
79   serviceAccount:
80     create: true
81     name: ""
82
83   ## Configure pod disruption budgets for Alertmanager
84   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
85   ## This configuration is immutable once created and will require the PDB to be deleted to be changed
86   ## https://github.com/kubernetes/kubernetes/issues/45398
87   ##
88   podDisruptionBudget:
89     enabled: false
90     minAvailable: 1
91     maxUnavailable: ""
92
93   ## Alertmanager configuration directives
94   ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file
95   ##      https://prometheus.io/webtools/alerting/routing-tree-editor/
96   ##
97   config:
98     global:
99       resolve_timeout: 5m
100     route:
101       group_by: ['job']
102       group_wait: 30s
103       group_interval: 5m
104       repeat_interval: 12h
105       receiver: 'null'
106       routes:
107       - match:
108           alertname: Watchdog
109         receiver: 'null'
110     receivers:
111     - name: 'null'
112
113   ## Alertmanager template files to format alerts
114   ## ref: https://prometheus.io/docs/alerting/notifications/
115   ##      https://prometheus.io/docs/alerting/notification_examples/
116   ##
117   templateFiles: {}
118   #
119   # An example template:
120   #   template_1.tmpl: |-
121   #       {{ define "cluster" }}{{ .ExternalURL | reReplaceAll ".*alertmanager\\.(.*)" "$1" }}{{ end }}
122   #
123   #       {{ define "slack.myorg.text" }}
124   #       {{- $root := . -}}
125   #       {{ range .Alerts }}
126   #         *Alert:* {{ .Annotations.summary }} - `{{ .Labels.severity }}`
127   #         *Cluster:*  {{ template "cluster" $root }}
128   #         *Description:* {{ .Annotations.description }}
129   #         *Graph:* <{{ .GeneratorURL }}|:chart_with_upwards_trend:>
130   #         *Runbook:* <{{ .Annotations.runbook }}|:spiral_note_pad:>
131   #         *Details:*
132   #           {{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}`
133   #           {{ end }}
134
135   ingress:
136     enabled: false
137
138     annotations: {}
139
140     labels: {}
141
142     ## Hosts must be provided if Ingress is enabled.
143     ##
144     hosts: []
145       # - alertmanager.domain.com
146
147     ## TLS configuration for Alertmanager Ingress
148     ## Secret must be manually created in the namespace
149     ##
150     tls: []
151     # - secretName: alertmanager-general-tls
152     #   hosts:
153     #   - alertmanager.example.com
154
155   ## Configuration for Alertmanager service
156   ##
157   service:
158     annotations: {}
159     labels: {}
160     clusterIP: ""
161
162   ## Port to expose on each node
163   ## Only used if service.type is 'NodePort'
164   ##
165     nodePort: 30903
166   ## List of IP addresses at which the Prometheus server service is available
167   ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
168   ##
169     externalIPs: []
170     loadBalancerIP: ""
171     loadBalancerSourceRanges: []
172     ## Service type
173     ##
174     type: ClusterIP
175
176   ## If true, create a serviceMonitor for alertmanager
177   ##
178   serviceMonitor:
179     selfMonitor: true
180
181   ## Settings affecting alertmanagerSpec
182   ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec
183   ##
184   alertmanagerSpec:
185     ## Standard object’s metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
186     ## Metadata Labels and Annotations gets propagated to the Alertmanager pods.
187     ##
188     podMetadata: {}
189
190     ## Image of Alertmanager
191     ##
192     image:
193       repository: quay.io/prometheus/alertmanager
194       tag: v0.16.1
195
196     ## Secrets is a list of Secrets in the same namespace as the Alertmanager object, which shall be mounted into the
197     ## Alertmanager Pods. The Secrets are mounted into /etc/alertmanager/secrets/.
198     ##
199     secrets: []
200
201     ## ConfigMaps is a list of ConfigMaps in the same namespace as the Alertmanager object, which shall be mounted into the Alertmanager Pods.
202     ## The ConfigMaps are mounted into /etc/alertmanager/configmaps/.
203     ##
204     configMaps: []
205
206     ## Log level for Alertmanager to be configured with.
207     ##
208     logLevel: info
209
210     ## Size is the expected size of the alertmanager cluster. The controller will eventually make the size of the
211     ## running cluster equal to the expected size.
212     replicas: 1
213
214     ## Time duration Alertmanager shall retain data for. Default is '120h', and must match the regular expression
215     ## [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours).
216     ##
217     retention: 120h
218
219     ## Storage is the definition of how storage will be used by the Alertmanager instances.
220     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/storage.md
221     ##
222     storage: {}
223     # volumeClaimTemplate:
224     #   spec:
225     #     storageClassName: gluster
226     #     accessModes: ["ReadWriteOnce"]
227     #     resources:
228     #       requests:
229     #         storage: 50Gi
230     #   selector: {}
231
232
233     ##  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
234     ##
235     externalUrl:
236
237     ##  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,
238     ## but the server serves requests under a different route prefix. For example for use with kubectl proxy.
239     ##
240     routePrefix: /
241
242     ## If set to true all actions on the underlying managed objects are not going to be performed, except for delete actions.
243     ##
244     paused: false
245
246     ## Define which Nodes the Pods are scheduled on.
247     ## ref: https://kubernetes.io/docs/user-guide/node-selection/
248     ##
249     nodeSelector: {}
250
251     ## Define resources requests and limits for single Pods.
252     ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
253     ##
254     resources: {}
255     # requests:
256     #   memory: 400Mi
257
258     ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
259     ## 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.
260     ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
261     ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
262     ##
263     podAntiAffinity: ""
264
265     ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
266     ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
267     ##
268     podAntiAffinityTopologyKey: kubernetes.io/hostname
269
270     ## If specified, the pod's tolerations.
271     ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
272     ##
273     tolerations: []
274     # - key: "key"
275     #   operator: "Equal"
276     #   value: "value"
277     #   effect: "NoSchedule"
278
279     ## SecurityContext holds pod-level security attributes and common container settings.
280     ## This defaults to non root user with uid 1000 and gid 2000.       *v1.PodSecurityContext  false
281     ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
282     ##
283     securityContext:
284       runAsNonRoot: true
285       runAsUser: 1000
286       fsGroup: 2000
287
288     ## ListenLocal makes the Alertmanager server listen on loopback, so that it does not bind against the Pod IP.
289     ## Note this is only for the Alertmanager UI, not the gossip communication.
290     ##
291     listenLocal: false
292
293     ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to an Alertmanager pod.
294     ##
295     containers: []
296
297     ## Priority class assigned to the Pods
298     ##
299     priorityClassName: ""
300
301     ## AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster.
302     ##
303     additionalPeers: []
304
305 ## Using default values from https://github.com/helm/charts/blob/master/stable/grafana/values.yaml
306 ##
307 grafana:
308   enabled: true
309
310   ## Deploy default dashboards.
311   ##
312   defaultDashboardsEnabled: true
313
314   adminPassword: prom-operator
315
316   ingress:
317     ## If true, Prometheus Ingress will be created
318     ##
319     enabled: false
320
321     ## Annotations for Prometheus Ingress
322     ##
323     annotations: {}
324       # kubernetes.io/ingress.class: nginx
325       # kubernetes.io/tls-acme: "true"
326
327     ## Labels to be added to the Ingress
328     ##
329     labels: {}
330
331     ## Hostnames.
332     ## Must be provided if Ingress is enable.
333     ##
334     # hosts:
335     #   - prometheus.domain.com
336     hosts: []
337
338     ## TLS configuration for prometheus Ingress
339     ## Secret must be manually created in the namespace
340     ##
341     tls: []
342     # - secretName: prometheus-general-tls
343     #   hosts:
344     #   - prometheus.example.com
345
346   sidecar:
347     dashboards:
348       enabled: true
349       label: grafana_dashboard
350     datasources:
351       enabled: true
352       label: grafana_datasource
353
354   extraConfigmapMounts: []
355   # - name: certs-configmap
356   #   mountPath: /etc/grafana/ssl/
357   #   configMap: certs-configmap
358   #   readOnly: true
359
360   ## If true, create a serviceMonitor for grafana
361   ##
362   serviceMonitor:
363     selfMonitor: true
364
365 ## Component scraping the kube api server
366 ##
367 kubeApiServer:
368   enabled: true
369   tlsConfig:
370     serverName: kubernetes
371     insecureSkipVerify: false
372
373   ## If your API endpoint address is not reachable (as in AKS) you can replace it with the kubernetes service
374   ##
375   relabelings: []
376   # - sourceLabels:
377   #     - __meta_kubernetes_namespace
378   #     - __meta_kubernetes_service_name
379   #     - __meta_kubernetes_endpoint_port_name
380   #   action: keep
381   #   regex: default;kubernetes;https
382   # - targetLabel: __address__
383   #   replacement: kubernetes.default.svc:443
384
385   serviceMonitor:
386     jobLabel: component
387     selector:
388       matchLabels:
389         component: apiserver
390         provider: kubernetes
391
392 ## Component scraping the kubelet and kubelet-hosted cAdvisor
393 ##
394 kubelet:
395   enabled: true
396   namespace: kube-system
397
398   serviceMonitor:
399     ## Enable scraping the kubelet over https. For requirements to enable this see
400     ## https://github.com/coreos/prometheus-operator/issues/926
401     ##
402     https: false
403     # cAdvisorMetricRelabelings:
404     # - sourceLabels: [__name__, image]
405     #   separator: ;
406     #   regex: container_([a-z_]+);
407     #   replacement: $1
408     #   action: drop
409     # - sourceLabels: [__name__]
410     #   separator: ;
411     #   regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
412     #   replacement: $1
413     #   action: drop
414
415
416 ## Component scraping the kube controller manager
417 ##
418 kubeControllerManager:
419   enabled: true
420
421   ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on
422   ##
423   endpoints: []
424   # - 10.141.4.22
425   # - 10.141.4.23
426   # - 10.141.4.24
427
428   ## If using kubeControllerManager.endpoints only the port and targetPort are used
429   ##
430   service:
431     port: 10252
432     targetPort: 10252
433     selector:
434       k8s-app: kube-controller-manager
435 ## Component scraping coreDns. Use either this or kubeDns
436 ##
437 coreDns:
438   enabled: true
439   service:
440     port: 9153
441     targetPort: 9153
442     selector:
443       k8s-app: coredns
444
445 ## Component scraping kubeDns. Use either this or coreDns
446 ##
447 kubeDns:
448   enabled: false
449   service:
450     selector:
451       k8s-app: kube-dns
452 ## Component scraping etcd
453 ##
454 kubeEtcd:
455   enabled: true
456
457   ## If your etcd is not deployed as a pod, specify IPs it can be found on
458   ##
459   endpoints: []
460   # - 10.141.4.22
461   # - 10.141.4.23
462   # - 10.141.4.24
463
464   ## Etcd service. If using kubeEtcd.endpoints only the port and targetPort are used
465   ##
466   service:
467     port: 4001
468     targetPort: 4001
469     selector:
470       k8s-app: etcd-server
471
472   ## Configure secure access to the etcd cluster by loading a secret into prometheus and
473   ## specifying security configuration below. For example, with a secret named etcd-client-cert
474   ##
475   ## serviceMonitor:
476   ##   scheme: https
477   ##   insecureSkipVerify: false
478   ##   serverName: localhost
479   ##   caFile: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
480   ##   certFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client
481   ##   keyFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
482   ##
483   serviceMonitor:
484     scheme: http
485     insecureSkipVerify: false
486     serverName: ""
487     caFile: ""
488     certFile: ""
489     keyFile: ""
490
491
492 ## Component scraping kube scheduler
493 ##
494 kubeScheduler:
495   enabled: true
496
497   ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on
498   ##
499   endpoints: []
500   # - 10.141.4.22
501   # - 10.141.4.23
502   # - 10.141.4.24
503
504   ## If using kubeScheduler.endpoints only the port and targetPort are used
505   ##
506   service:
507     port: 10251
508     targetPort: 10251
509     selector:
510       k8s-app: kube-scheduler
511
512 ## Component scraping kube state metrics
513 ##
514 kubeStateMetrics:
515   enabled: true
516
517 ## Configuration for kube-state-metrics subchart
518 ##
519 kube-state-metrics:
520   rbac:
521     create: true
522   podSecurityPolicy:
523     enabled: true
524
525 ## Deploy node exporter as a daemonset to all nodes
526 ##
527 nodeExporter:
528   enabled: true
529
530   ## Use the value configured in prometheus-node-exporter.podLabels
531   ##
532   jobLabel: jobLabel
533
534 ## Configuration for prometheus-node-exporter subchart
535 ##
536 prometheus-node-exporter:
537   podLabels:
538     ## Add the 'node-exporter' label to be used by serviceMonitor to match standard common usage in rules and grafana dashboards
539     ##
540     jobLabel: node-exporter
541   extraArgs:
542     - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+)($|/)
543     - --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$
544
545 ## Manages Prometheus and Alertmanager components
546 ##
547 prometheusOperator:
548   enabled: true
549
550   ## Service account for Alertmanager to use.
551   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
552   ##
553   serviceAccount:
554     create: true
555     name: ""
556
557   ## Configuration for Prometheus operator service
558   ##
559   service:
560     annotations: {}
561     labels: {}
562     clusterIP: ""
563
564   ## Port to expose on each node
565   ## Only used if service.type is 'NodePort'
566   ##
567     nodePort: 38080
568
569
570   ## Loadbalancer IP
571   ## Only use if service.type is "loadbalancer"
572   ##
573     loadBalancerIP: ""
574     loadBalancerSourceRanges: []
575
576   ## Service type
577   ## NodepPort, ClusterIP, loadbalancer
578   ##
579     type: ClusterIP
580
581     ## List of IP addresses at which the Prometheus server service is available
582     ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
583     ##
584     externalIPs: []
585
586   ## Deploy CRDs used by Prometheus Operator.
587   ##
588   createCustomResource: true
589
590   ## Customize CRDs API Group
591   crdApiGroup: monitoring.coreos.com
592
593   ## Attempt to clean up CRDs created by Prometheus Operator.
594   ##
595   cleanupCustomResource: false
596
597   ## Labels to add to the operator pod
598   ##
599   podLabels: {}
600
601   ## Assign a PriorityClassName to pods if set
602   # priorityClassName: ""
603
604   ## Define Log Format
605   # Use logfmt (default) or json-formatted logging
606   # logFormat: logfmt
607
608   ## Decrease log verbosity to errors only
609   # logLevel: error
610
611   ## If true, the operator will create and maintain a service for scraping kubelets
612   ## ref: https://github.com/coreos/prometheus-operator/blob/master/helm/prometheus-operator/README.md
613   ##
614   kubeletService:
615     enabled: true
616     namespace: kube-system
617
618   ## Create a servicemonitor for the operator
619   ##
620   serviceMonitor:
621     selfMonitor: true
622
623   ## Resource limits & requests
624   ##
625   resources: {}
626   # limits:
627   #   cpu: 200m
628   #   memory: 200Mi
629   # requests:
630   #   cpu: 100m
631   #   memory: 100Mi
632
633   ## Define which Nodes the Pods are scheduled on.
634   ## ref: https://kubernetes.io/docs/user-guide/node-selection/
635   ##
636   nodeSelector: {}
637
638   ## Tolerations for use with node taints
639   ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
640   ##
641   tolerations: []
642   # - key: "key"
643   #   operator: "Equal"
644   #   value: "value"
645   #   effect: "NoSchedule"
646
647   ## Assign the prometheus operator to run on specific nodes
648   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
649   ##
650   affinity: {}
651   # requiredDuringSchedulingIgnoredDuringExecution:
652   #   nodeSelectorTerms:
653   #   - matchExpressions:
654   #     - key: kubernetes.io/e2e-az-name
655   #       operator: In
656   #       values:
657   #       - e2e-az1
658   #       - e2e-az2
659
660   securityContext:
661     runAsNonRoot: true
662     runAsUser: 65534
663
664   ## Prometheus-operator image
665   ##
666   image:
667     repository: quay.io/coreos/prometheus-operator
668     tag: v0.29.0
669     pullPolicy: IfNotPresent
670
671   ## Configmap-reload image to use for reloading configmaps
672   ##
673   configmapReloadImage:
674     repository: quay.io/coreos/configmap-reload
675     tag: v0.0.1
676
677   ## Prometheus-config-reloader image to use for config and rule reloading
678   ##
679   prometheusConfigReloaderImage:
680     repository: quay.io/coreos/prometheus-config-reloader
681     tag: v0.29.0
682
683   ## Hyperkube image to use when cleaning up
684   ##
685   hyperkubeImage:
686     repository: k8s.gcr.io/hyperkube
687     tag: v1.12.1
688     pullPolicy: IfNotPresent
689
690 ## Deploy a Prometheus instance
691 ##
692 prometheus:
693
694   enabled: true
695
696   ## Service account for Prometheuses to use.
697   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
698   ##
699   serviceAccount:
700     create: true
701     name: ""
702
703   ## Configuration for Prometheus service
704   ##
705   service:
706     annotations: {}
707     labels: {}
708     clusterIP: ""
709
710
711     ## To be used with a proxy extraContainer port
712     targetPort: 9090
713
714     ## List of IP addresses at which the Prometheus server service is available
715     ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
716     ##
717     externalIPs: []
718
719     ## Port to expose on each node
720     ## Only used if service.type is 'NodePort'
721     ##
722     nodePort: 39090
723
724     ## Loadbalancer IP
725     ## Only use if service.type is "loadbalancer"
726     loadBalancerIP: ""
727     loadBalancerSourceRanges: []
728     ## Service type
729     ##
730     type: ClusterIP
731
732     sessionAffinity: ""
733
734   rbac:
735     ## Create role bindings in the specified namespaces, to allow Prometheus monitoring
736     ## a role binding in the release namespace will always be created.
737     ##
738     roleNamespaces:
739       - kube-system
740
741   ## Configure pod disruption budgets for Prometheus
742   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
743   ## This configuration is immutable once created and will require the PDB to be deleted to be changed
744   ## https://github.com/kubernetes/kubernetes/issues/45398
745   ##
746   podDisruptionBudget:
747     enabled: false
748     minAvailable: 1
749     maxUnavailable: ""
750
751   ingress:
752     enabled: false
753     annotations: {}
754     labels: {}
755
756     ## Hostnames.
757     ## Must be provided if Ingress is enabled.
758     ##
759     # hosts:
760     #   - prometheus.domain.com
761     hosts: []
762
763     ## TLS configuration for Prometheus Ingress
764     ## Secret must be manually created in the namespace
765     ##
766     tls: []
767       # - secretName: prometheus-general-tls
768       #   hosts:
769       #     - prometheus.example.com
770
771   serviceMonitor:
772     selfMonitor: true
773
774   ## Settings affecting prometheusSpec
775   ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
776   ##
777   prometheusSpec:
778
779     ## Interval between consecutive scrapes.
780     ##
781     scrapeInterval: ""
782
783     ## Interval between consecutive evaluations.
784     ##
785     evaluationInterval: ""
786
787     ## ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP.
788     ##
789     listenLocal: false
790
791     ## Image of Prometheus.
792     ##
793     image:
794       repository: quay.io/prometheus/prometheus
795       tag: v2.7.1
796
797     ## Tolerations for use with node taints
798     ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
799     ##
800     tolerations: []
801     #  - key: "key"
802     #    operator: "Equal"
803     #    value: "value"
804     #    effect: "NoSchedule"
805
806     ## Alertmanagers to which alerts will be sent
807     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerendpoints
808     ##
809     ## Default configuration will connect to the alertmanager deployed as part of this release
810     ##
811     alertingEndpoints: []
812     # - name: ""
813     #   namespace: ""
814     #   port: http
815     #   scheme: http
816
817     ## External labels to add to any time series or alerts when communicating with external systems
818     ##
819     externalLabels: {}
820
821     ## External URL at which Prometheus will be reachable.
822     ##
823     externalUrl: ""
824
825     ## Define which Nodes the Pods are scheduled on.
826     ## ref: https://kubernetes.io/docs/user-guide/node-selection/
827     ##
828     nodeSelector: {}
829
830     ## Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
831     ## The Secrets are mounted into /etc/prometheus/secrets/. Secrets changes after initial creation of a Prometheus object are not
832     ## reflected in the running Pods. To change the secrets mounted into the Prometheus Pods, the object must be deleted and recreated
833     ## with the new list of secrets.
834     ##
835     secrets: []
836
837     ## ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
838     ## The ConfigMaps are mounted into /etc/prometheus/configmaps/.
839     ##
840     configMaps: []
841
842     ## Namespaces to be selected for PrometheusRules discovery.
843     ## If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery.
844     ## See https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#namespaceselector for usage
845     ##
846     ruleNamespaceSelector: {}
847
848     ## If true, a nil or {} value for prometheus.prometheusSpec.ruleSelector will cause the
849     ## prometheus resource to be created with selectors based on values in the helm deployment,
850     ## which will also match the PrometheusRule resources created
851     ##
852     ruleSelectorNilUsesHelmValues: true
853
854     ## PrometheusRules to be selected for target discovery.
855     ## If {}, select all ServiceMonitors
856     ##
857     ruleSelector: {}
858     ## Example which select all prometheusrules resources
859     ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
860     # ruleSelector:
861     #   matchExpressions:
862     #     - key: prometheus
863     #       operator: In
864     #       values:
865     #         - example-rules
866     #         - example-rules-2
867     #
868     ## Example which select all prometheusrules resources with label "role" set to "example-rules"
869     # ruleSelector:
870     #   matchLabels:
871     #     role: example-rules
872
873     ## If true, a nil or {} value for prometheus.prometheusSpec.serviceMonitorSelector will cause the
874     ## prometheus resource to be created with selectors based on values in the helm deployment,
875     ## which will also match the servicemonitors created
876     ##
877     serviceMonitorSelectorNilUsesHelmValues: true
878
879     ## ServiceMonitors to be selected for target discovery.
880     ## If {}, select all ServiceMonitors
881     ##
882     serviceMonitorSelector: {}
883     ## Example which selects ServiceMonitors with label "prometheus" set to "somelabel"
884     # serviceMonitorSelector:
885     #   matchLabels:
886     #     prometheus: somelabel
887
888     ## Namespaces to be selected for ServiceMonitor discovery.
889     ## See https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#namespaceselector for usage
890     ##
891     serviceMonitorNamespaceSelector: {}
892
893     ## How long to retain metrics
894     ##
895     retention: 10d
896
897     ## If true, the Operator won't process any Prometheus configuration changes
898     ##
899     paused: false
900
901     ## Number of Prometheus replicas desired
902     ##
903     replicas: 1
904
905     ## Log level for Prometheus be configured in
906     ##
907     logLevel: info
908
909     ## Prefix used to register routes, overriding externalUrl route.
910     ## Useful for proxies that rewrite URLs.
911     ##
912     routePrefix: /
913
914     ## Standard object’s metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
915     ## Metadata Labels and Annotations gets propagated to the prometheus pods.
916     ##
917     podMetadata: {}
918     # labels:
919     #   app: prometheus
920     #   k8s-app: prometheus
921
922     ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
923     ## 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.
924     ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
925     ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
926     podAntiAffinity: ""
927
928     ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
929     ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
930     ##
931     podAntiAffinityTopologyKey: kubernetes.io/hostname
932
933     ## The remote_read spec configuration for Prometheus.
934     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotereadspec
935     remoteRead: {}
936     # - url: http://remote1/read
937
938     ## The remote_write spec configuration for Prometheus.
939     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotewritespec
940     remoteWrite: {}
941       # remoteWrite:
942       #   - url: http://remote1/push
943
944     ## Resource limits & requests
945     ##
946     resources: {}
947     # requests:
948     #   memory: 400Mi
949
950     ## Prometheus StorageSpec for persistent data
951     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/storage.md
952     ##
953     storageSpec: {}
954     #  volumeClaimTemplate:
955     #    spec:
956     #      storageClassName: gluster
957     #      accessModes: ["ReadWriteOnce"]
958     #      resources:
959     #        requests:
960     #          storage: 50Gi
961     #    selector: {}
962
963     ## AdditionalScrapeConfigs allows specifying additional Prometheus scrape configurations. Scrape configurations
964     ## are appended to the configurations generated by the Prometheus Operator. Job configurations must have the form
965     ## as specified in the official Prometheus documentation:
966     ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<scrape_config>. As scrape configs are
967     ## appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility
968     ## to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible
969     ## scrape configs are going to break Prometheus after the upgrade.
970     ##
971     ## The scrape configuraiton example below will find master nodes, provided they have the name .*mst.*, relabel the
972     ## port to 2379 and allow etcd scraping provided it is running on all Kubernetes master nodes
973     ##
974     additionalScrapeConfigs: []
975     # - job_name: kube-etcd
976     #   kubernetes_sd_configs:
977     #     - role: node
978     #   scheme: https
979     #   tls_config:
980     #     ca_file:   /etc/prometheus/secrets/etcd-client-cert/etcd-ca
981     #     cert_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client
982     #     key_file:  /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
983     #   relabel_configs:
984     #   - action: labelmap
985     #     regex: __meta_kubernetes_node_label_(.+)
986     #   - source_labels: [__address__]
987     #     action: replace
988     #     target_label: __address__
989     #     regex: ([^:;]+):(\d+)
990     #     replacement: ${1}:2379
991     #   - source_labels: [__meta_kubernetes_node_name]
992     #     action: keep
993     #     regex: .*mst.*
994     #   - source_labels: [__meta_kubernetes_node_name]
995     #     action: replace
996     #     target_label: node
997     #     regex: (.*)
998     #     replacement: ${1}
999     #   metric_relabel_configs:
1000     #   - 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)
1001     #     action: labeldrop
1002
1003
1004     ## AdditionalAlertManagerConfigs allows for manual configuration of alertmanager jobs in the form as specified
1005     ## in the official Prometheus documentation https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<alertmanager_config>.
1006     ## AlertManager configurations specified are appended to the configurations generated by the Prometheus Operator.
1007     ## As AlertManager configs are appended, the user is responsible to make sure it is valid. Note that using this
1008     ## feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release
1009     ## notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade.
1010     ##
1011     additionalAlertManagerConfigs: []
1012     # - consul_sd_configs:
1013     #   - server: consul.dev.test:8500
1014     #     scheme: http
1015     #     datacenter: dev
1016     #     tag_separator: ','
1017     #     services:
1018     #       - metrics-prometheus-alertmanager
1019
1020     ## AdditionalAlertRelabelConfigs allows specifying Prometheus alert relabel configurations. Alert relabel configurations specified are appended
1021     ## to the configurations generated by the Prometheus Operator. Alert relabel configurations specified must have the form as specified in the
1022     ## official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs.
1023     ## As alert relabel configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the
1024     ## possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel
1025     ## configs are going to break Prometheus after the upgrade.
1026     ##
1027     additionalAlertRelabelConfigs: []
1028     # - separator: ;
1029     #   regex: prometheus_replica
1030     #   replacement: $1
1031     #   action: labeldrop
1032
1033     ## SecurityContext holds pod-level security attributes and common container settings.
1034     ## This defaults to non root user with uid 1000 and gid 2000.
1035     ## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md
1036     ##
1037     securityContext:
1038       runAsNonRoot: true
1039       runAsUser: 1000
1040       fsGroup: 2000
1041
1042     ##  Priority class assigned to the Pods
1043     ##
1044     priorityClassName: ""
1045
1046     ## Thanos configuration allows configuring various aspects of a Prometheus server in a Thanos environment.
1047     ## This section is experimental, it may change significantly without deprecation notice in any release.
1048     ## This is experimental and may change significantly without backward compatibility in any release.
1049     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#thanosspec
1050     ##
1051     thanos: {}
1052
1053     ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod.
1054     ##  if using proxy extraContainer  update targetPort with proxy container port
1055     containers: []
1056
1057     ## Enable additional scrape configs that are managed externally to this chart. Note that the prometheus
1058     ## will fail to provision if the correct secret does not exist.
1059     ##
1060     additionalScrapeConfigsExternal: false
1061
1062   additionalServiceMonitors: []
1063   ## Name of the ServiceMonitor to create
1064   ##
1065   # - name: ""
1066
1067     ## Additional labels to set used for the ServiceMonitorSelector. Together with standard labels from
1068     ## the chart
1069     ##
1070     # additionalLabels: {}
1071
1072     ## Service label for use in assembling a job name of the form <label value>-<port>
1073     ## If no label is specified, the service name is used.
1074     ##
1075     # jobLabel: ""
1076
1077     ## Label selector for services to which this ServiceMonitor applies
1078     ##
1079     # selector: {}
1080
1081     ## Namespaces from which services are selected
1082     ##
1083     # namespaceSelector:
1084       ## Match any namespace
1085       ##
1086       # any: false
1087
1088       ## Explicit list of namespace names to select
1089       ##
1090       # matchNames: []
1091
1092     ## Endpoints of the selected service to be monitored
1093     ##
1094     # endpoints: []
1095       ## Name of the endpoint's service port
1096       ## Mutually exclusive with targetPort
1097       # - port: ""
1098
1099       ## Name or number of the endpoint's target port
1100       ## Mutually exclusive with port
1101       # - targetPort: ""
1102
1103       ## File containing bearer token to be used when scraping targets
1104       ##
1105       #   bearerTokenFile: ""
1106
1107       ## Interval at which metrics should be scraped
1108       ##
1109       #   interval: 30s
1110
1111       ## HTTP path to scrape for metrics
1112       ##
1113       #   path: /metrics
1114
1115       ## HTTP scheme to use for scraping
1116       ##
1117       #   scheme: http
1118
1119       ## TLS configuration to use when scraping the endpoint
1120       ##
1121       #   tlsConfig:
1122
1123           ## Path to the CA file
1124           ##
1125           # caFile: ""
1126
1127           ## Path to client certificate file
1128           ##
1129           # certFile: ""
1130
1131           ## Skip certificate verification
1132           ##
1133           # insecureSkipVerify: false
1134
1135           ## Path to client key file
1136           ##
1137           # keyFile: ""
1138
1139           ## Server name used to verify host name
1140           ##
1141           # serverName: ""