Fix spacing issues in YAML files in vnfs
[demo.git] / vnfs / DAaaS / deploy / operator / charts / prometheus-operator / values.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: false
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: false
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
368 ## Component scraping the kube api server
369 ##
370 kubeApiServer:
371   enabled: false
372   tlsConfig:
373     serverName: kubernetes
374     insecureSkipVerify: false
375
376   ## If your API endpoint address is not reachable (as in AKS) you can replace it with the kubernetes service
377   ##
378   relabelings: []
379   # - sourceLabels:
380   #     - __meta_kubernetes_namespace
381   #     - __meta_kubernetes_service_name
382   #     - __meta_kubernetes_endpoint_port_name
383   #   action: keep
384   #   regex: default;kubernetes;https
385   # - targetLabel: __address__
386   #   replacement: kubernetes.default.svc:443
387
388   serviceMonitor:
389     jobLabel: component
390     selector:
391       matchLabels:
392         component: apiserver
393         provider: kubernetes
394
395 ## Component scraping the kubelet and kubelet-hosted cAdvisor
396 ##
397 kubelet:
398   enabled: false
399   namespace: kube-system
400
401   serviceMonitor:
402     ## Enable scraping the kubelet over https. For requirements to enable this see
403     ## https://github.com/coreos/prometheus-operator/issues/926
404     ##
405     https: false
406     # cAdvisorMetricRelabelings:
407     # - sourceLabels: [__name__, image]
408     #   separator: ;
409     #   regex: container_([a-z_]+);
410     #   replacement: $1
411     #   action: drop
412     # - sourceLabels: [__name__]
413     #   separator: ;
414     #   regex: container_(network_tcp_usage_total|network_udp_usage_total|tasks_state|cpu_load_average_10s)
415     #   replacement: $1
416     #   action: drop
417
418
419 ## Component scraping the kube controller manager
420 ##
421 kubeControllerManager:
422   enabled: false
423
424   ## If your kube controller manager is not deployed as a pod, specify IPs it can be found on
425   ##
426   endpoints: []
427   # - 10.141.4.22
428   # - 10.141.4.23
429   # - 10.141.4.24
430
431   ## If using kubeControllerManager.endpoints only the port and targetPort are used
432   ##
433   service:
434     port: 10252
435     targetPort: 10252
436     selector:
437       k8s-app: kube-controller-manager
438 ## Component scraping coreDns. Use either this or kubeDns
439 ##
440 coreDns:
441   enabled: false
442   service:
443     port: 9153
444     targetPort: 9153
445     selector:
446       k8s-app: coredns
447
448 ## Component scraping kubeDns. Use either this or coreDns
449 ##
450 kubeDns:
451   enabled: false
452   service:
453     selector:
454       k8s-app: kube-dns
455 ## Component scraping etcd
456 ##
457 kubeEtcd:
458   enabled: false
459
460   ## If your etcd is not deployed as a pod, specify IPs it can be found on
461   ##
462   endpoints: []
463   # - 10.141.4.22
464   # - 10.141.4.23
465   # - 10.141.4.24
466
467   ## Etcd service. If using kubeEtcd.endpoints only the port and targetPort are used
468   ##
469   service:
470     port: 4001
471     targetPort: 4001
472     selector:
473       k8s-app: etcd-server
474
475   ## Configure secure access to the etcd cluster by loading a secret into prometheus and
476   ## specifying security configuration below. For example, with a secret named etcd-client-cert
477   ##
478   ## serviceMonitor:
479   ##   scheme: https
480   ##   insecureSkipVerify: false
481   ##   serverName: localhost
482   ##   caFile: /etc/prometheus/secrets/etcd-client-cert/etcd-ca
483   ##   certFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client
484   ##   keyFile: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
485   ##
486   serviceMonitor:
487     scheme: http
488     insecureSkipVerify: false
489     serverName: ""
490     caFile: ""
491     certFile: ""
492     keyFile: ""
493
494
495 ## Component scraping kube scheduler
496 ##
497 kubeScheduler:
498   enabled: false
499
500   ## If your kube scheduler is not deployed as a pod, specify IPs it can be found on
501   ##
502   endpoints: []
503   # - 10.141.4.22
504   # - 10.141.4.23
505   # - 10.141.4.24
506
507   ## If using kubeScheduler.endpoints only the port and targetPort are used
508   ##
509   service:
510     port: 10251
511     targetPort: 10251
512     selector:
513       k8s-app: kube-scheduler
514
515 ## Component scraping kube state metrics
516 ##
517 kubeStateMetrics:
518   enabled: false
519
520 ## Configuration for kube-state-metrics subchart
521 ##
522 kube-state-metrics:
523   rbac:
524     create: true
525   podSecurityPolicy:
526     enabled: true
527
528 ## Deploy node exporter as a daemonset to all nodes
529 ##
530 nodeExporter:
531   enabled: false
532
533   ## Use the value configured in prometheus-node-exporter.podLabels
534   ##
535   jobLabel: jobLabel
536
537 ## Configuration for prometheus-node-exporter subchart
538 ##
539 prometheus-node-exporter:
540   podLabels:
541     ## Add the 'node-exporter' label to be used by serviceMonitor to match standard common usage in rules and grafana dashboards
542     ##
543     jobLabel: node-exporter
544   extraArgs:
545     - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+)($|/)
546     - --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)$
547
548 ## Manages Prometheus and Alertmanager components
549 ##
550 prometheusOperator:
551   enabled: true
552
553   ## Service account for Alertmanager to use.
554   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
555   ##
556   serviceAccount:
557     create: true
558     name: ""
559
560   ## Configuration for Prometheus operator service
561   ##
562   service:
563     annotations: {}
564     labels: {}
565     clusterIP: ""
566
567   ## Port to expose on each node
568   ## Only used if service.type is 'NodePort'
569   ##
570     #nodePort: 30080
571
572
573   ## Loadbalancer IP
574   ## Only use if service.type is "loadbalancer"
575   ##
576     loadBalancerIP: ""
577     loadBalancerSourceRanges: []
578
579   ## Service type
580   ## NodepPort, ClusterIP, loadbalancer
581   ##
582     type: ClusterIP
583
584     ## List of IP addresses at which the Prometheus server service is available
585     ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
586     ##
587     externalIPs: []
588
589   ## Deploy CRDs used by Prometheus Operator.
590   ##
591   createCustomResource: true
592
593   ## Customize CRDs API Group
594   crdApiGroup: monitoring.coreos.com
595
596   ## Attempt to clean up CRDs created by Prometheus Operator.
597   ##
598   cleanupCustomResource: true
599
600   ## Labels to add to the operator pod
601   ##
602   podLabels: {}
603
604   ## Assign a PriorityClassName to pods if set
605   # priorityClassName: ""
606
607   ## Define Log Format
608   # Use logfmt (default) or json-formatted logging
609   # logFormat: logfmt
610
611   ## Decrease log verbosity to errors only
612   # logLevel: error
613
614   ## If true, the operator will create and maintain a service for scraping kubelets
615   ## ref: https://github.com/coreos/prometheus-operator/blob/master/helm/prometheus-operator/README.md
616   ##
617   kubeletService:
618     enabled: false
619     namespace: kube-system
620
621   ## Create a servicemonitor for the operator
622   ##
623   serviceMonitor:
624     selfMonitor: false
625
626   ## Resource limits & requests
627   ##
628   resources: {}
629   # limits:
630   #   cpu: 200m
631   #   memory: 200Mi
632   # requests:
633   #   cpu: 100m
634   #   memory: 100Mi
635
636   ## Define which Nodes the Pods are scheduled on.
637   ## ref: https://kubernetes.io/docs/user-guide/node-selection/
638   ##
639   nodeSelector: {}
640
641   ## Tolerations for use with node taints
642   ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
643   ##
644   tolerations: []
645   # - key: "key"
646   #   operator: "Equal"
647   #   value: "value"
648   #   effect: "NoSchedule"
649
650   ## Assign the prometheus operator to run on specific nodes
651   ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
652   ##
653   affinity: {}
654   # requiredDuringSchedulingIgnoredDuringExecution:
655   #   nodeSelectorTerms:
656   #   - matchExpressions:
657   #     - key: kubernetes.io/e2e-az-name
658   #       operator: In
659   #       values:
660   #       - e2e-az1
661   #       - e2e-az2
662
663   securityContext:
664     runAsNonRoot: true
665     runAsUser: 65534
666
667   ## Prometheus-operator image
668   ##
669   image:
670     repository: quay.io/coreos/prometheus-operator
671     tag: v0.29.0
672     pullPolicy: IfNotPresent
673
674   ## Configmap-reload image to use for reloading configmaps
675   ##
676   configmapReloadImage:
677     repository: quay.io/coreos/configmap-reload
678     tag: v0.0.1
679
680   ## Prometheus-config-reloader image to use for config and rule reloading
681   ##
682   prometheusConfigReloaderImage:
683     repository: quay.io/coreos/prometheus-config-reloader
684     tag: v0.29.0
685
686   ## Hyperkube image to use when cleaning up
687   ##
688   hyperkubeImage:
689     repository: k8s.gcr.io/hyperkube
690     tag: v1.12.1
691     pullPolicy: IfNotPresent
692
693 ## Deploy a Prometheus instance
694 ##
695 prometheus:
696
697   enabled: true
698
699   ## DAaaS: Bring up a default instance when Operator comes up
700   ## set startup as false to bring up only operator.
701   startup: false
702
703   ## Service account for Prometheuses to use.
704   ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
705   ##
706   serviceAccount:
707     create: true
708     name: ""
709
710   ## Configuration for Prometheus service
711   ##
712   service:
713     annotations: {}
714     labels: {}
715     clusterIP: ""
716
717
718     ## To be used with a proxy extraContainer port
719     targetPort: 9090
720
721     ## List of IP addresses at which the Prometheus server service is available
722     ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
723     ##
724     externalIPs: []
725
726     ## Port to expose on each node
727     ## Only used if service.type is 'NodePort'
728     ##
729 #    nodePort: 39090
730
731     ## Loadbalancer IP
732     ## Only use if service.type is "loadbalancer"
733     loadBalancerIP: ""
734     loadBalancerSourceRanges: []
735     ## Service type
736     ##
737     type: ClusterIP
738
739     sessionAffinity: ""
740
741   rbac:
742     ## Create role bindings in the specified namespaces, to allow Prometheus monitoring
743     ## a role binding in the release namespace will always be created.
744     ##
745     roleNamespaces:
746       - kube-system
747
748   ## Configure pod disruption budgets for Prometheus
749   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
750   ## This configuration is immutable once created and will require the PDB to be deleted to be changed
751   ## https://github.com/kubernetes/kubernetes/issues/45398
752   ##
753   podDisruptionBudget:
754     enabled: false
755     minAvailable: 1
756     maxUnavailable: ""
757
758   ingress:
759     enabled: false
760     annotations: {}
761     labels: {}
762
763     ## Hostnames.
764     ## Must be provided if Ingress is enabled.
765     ##
766     # hosts:
767     #   - prometheus.domain.com
768     hosts: []
769
770     ## TLS configuration for Prometheus Ingress
771     ## Secret must be manually created in the namespace
772     ##
773     tls: []
774       # - secretName: prometheus-general-tls
775       #   hosts:
776       #     - prometheus.example.com
777
778   serviceMonitor:
779     selfMonitor: false
780
781   ## Settings affecting prometheusSpec
782   ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
783   ##
784   prometheusSpec:
785
786     ## Interval between consecutive scrapes.
787     ##
788     scrapeInterval: ""
789
790     ## Interval between consecutive evaluations.
791     ##
792     evaluationInterval: ""
793
794     ## ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP.
795     ##
796     listenLocal: false
797
798     ## Image of Prometheus.
799     ##
800     image:
801       repository: quay.io/prometheus/prometheus
802       tag: v2.7.1
803
804     ## Tolerations for use with node taints
805     ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
806     ##
807     tolerations: []
808     #  - key: "key"
809     #    operator: "Equal"
810     #    value: "value"
811     #    effect: "NoSchedule"
812
813     ## Alertmanagers to which alerts will be sent
814     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerendpoints
815     ##
816     ## Default configuration will connect to the alertmanager deployed as part of this release
817     ##
818     alertingEndpoints: []
819     # - name: ""
820     #   namespace: ""
821     #   port: http
822     #   scheme: http
823
824     ## External labels to add to any time series or alerts when communicating with external systems
825     ##
826     externalLabels: {}
827
828     ## External URL at which Prometheus will be reachable.
829     ##
830     externalUrl: ""
831
832     ## Define which Nodes the Pods are scheduled on.
833     ## ref: https://kubernetes.io/docs/user-guide/node-selection/
834     ##
835     nodeSelector: {}
836
837     ## Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
838     ## The Secrets are mounted into /etc/prometheus/secrets/. Secrets changes after initial creation of a Prometheus object are not
839     ## reflected in the running Pods. To change the secrets mounted into the Prometheus Pods, the object must be deleted and recreated
840     ## with the new list of secrets.
841     ##
842     secrets: []
843
844     ## ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods.
845     ## The ConfigMaps are mounted into /etc/prometheus/configmaps/.
846     ##
847     configMaps: []
848
849     ## Namespaces to be selected for PrometheusRules discovery.
850     ## If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery.
851     ## See https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#namespaceselector for usage
852     ##
853     ruleNamespaceSelector: {}
854
855     ## If true, a nil or {} value for prometheus.prometheusSpec.ruleSelector will cause the
856     ## prometheus resource to be created with selectors based on values in the helm deployment,
857     ## which will also match the PrometheusRule resources created
858     ##
859     ruleSelectorNilUsesHelmValues: true
860
861     ## PrometheusRules to be selected for target discovery.
862     ## If {}, select all ServiceMonitors
863     ##
864     ruleSelector: {}
865     ## Example which select all prometheusrules resources
866     ## with label "prometheus" with values any of "example-rules" or "example-rules-2"
867     # ruleSelector:
868     #   matchExpressions:
869     #     - key: prometheus
870     #       operator: In
871     #       values:
872     #         - example-rules
873     #         - example-rules-2
874     #
875     ## Example which select all prometheusrules resources with label "role" set to "example-rules"
876     # ruleSelector:
877     #   matchLabels:
878     #     role: example-rules
879
880     ## If true, a nil or {} value for prometheus.prometheusSpec.serviceMonitorSelector will cause the
881     ## prometheus resource to be created with selectors based on values in the helm deployment,
882     ## which will also match the servicemonitors created
883     ##
884     serviceMonitorSelectorNilUsesHelmValues: true
885
886     ## ServiceMonitors to be selected for target discovery.
887     ## If {}, select all ServiceMonitors
888     ##
889     serviceMonitorSelector: {}
890     ## Example which selects ServiceMonitors with label "prometheus" set to "somelabel"
891     # serviceMonitorSelector:
892     #   matchLabels:
893     #     prometheus: somelabel
894
895     ## Namespaces to be selected for ServiceMonitor discovery.
896     ## See https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#namespaceselector for usage
897     ##
898     serviceMonitorNamespaceSelector: {}
899
900     ## How long to retain metrics
901     ##
902     retention: 10d
903
904     ## If true, the Operator won't process any Prometheus configuration changes
905     ##
906     paused: false
907
908     ## Number of Prometheus replicas desired
909     ##
910     replicas: 1
911
912     ## Log level for Prometheus be configured in
913     ##
914     logLevel: info
915
916     ## Prefix used to register routes, overriding externalUrl route.
917     ## Useful for proxies that rewrite URLs.
918     ##
919     routePrefix: /
920
921     ## Standard object’s metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
922     ## Metadata Labels and Annotations gets propagated to the prometheus pods.
923     ##
924     podMetadata: {}
925     # labels:
926     #   app: prometheus
927     #   k8s-app: prometheus
928
929     ## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node.
930     ## 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.
931     ## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
932     ## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
933     podAntiAffinity: ""
934
935     ## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
936     ## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
937     ##
938     podAntiAffinityTopologyKey: kubernetes.io/hostname
939
940     ## The remote_read spec configuration for Prometheus.
941     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotereadspec
942     remoteRead: {}
943     # - url: http://remote1/read
944
945     ## The remote_write spec configuration for Prometheus.
946     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#remotewritespec
947     remoteWrite: {}
948       # remoteWrite:
949       #   - url: http://remote1/push
950
951     ## Resource limits & requests
952     ##
953     resources: {}
954     # requests:
955     #   memory: 400Mi
956
957     ## Prometheus StorageSpec for persistent data
958     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/storage.md
959     ##
960     storageSpec: {}
961     #  volumeClaimTemplate:
962     #    spec:
963     #      storageClassName: gluster
964     #      accessModes: ["ReadWriteOnce"]
965     #      resources:
966     #        requests:
967     #          storage: 50Gi
968     #    selector: {}
969
970     ## AdditionalScrapeConfigs allows specifying additional Prometheus scrape configurations. Scrape configurations
971     ## are appended to the configurations generated by the Prometheus Operator. Job configurations must have the form
972     ## as specified in the official Prometheus documentation:
973     ## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<scrape_config>. As scrape configs are
974     ## appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility
975     ## to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible
976     ## scrape configs are going to break Prometheus after the upgrade.
977     ##
978     ## The scrape configuraiton example below will find master nodes, provided they have the name .*mst.*, relabel the
979     ## port to 2379 and allow etcd scraping provided it is running on all Kubernetes master nodes
980     ##
981     additionalScrapeConfigs: []
982     # - job_name: kube-etcd
983     #   kubernetes_sd_configs:
984     #     - role: node
985     #   scheme: https
986     #   tls_config:
987     #     ca_file:   /etc/prometheus/secrets/etcd-client-cert/etcd-ca
988     #     cert_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client
989     #     key_file:  /etc/prometheus/secrets/etcd-client-cert/etcd-client-key
990     #   relabel_configs:
991     #   - action: labelmap
992     #     regex: __meta_kubernetes_node_label_(.+)
993     #   - source_labels: [__address__]
994     #     action: replace
995     #     target_label: __address__
996     #     regex: ([^:;]+):(\d+)
997     #     replacement: ${1}:2379
998     #   - source_labels: [__meta_kubernetes_node_name]
999     #     action: keep
1000     #     regex: .*mst.*
1001     #   - source_labels: [__meta_kubernetes_node_name]
1002     #     action: replace
1003     #     target_label: node
1004     #     regex: (.*)
1005     #     replacement: ${1}
1006     #   metric_relabel_configs:
1007     #   - 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)
1008     #     action: labeldrop
1009
1010
1011     ## AdditionalAlertManagerConfigs allows for manual configuration of alertmanager jobs in the form as specified
1012     ## in the official Prometheus documentation https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<alertmanager_config>.
1013     ## AlertManager configurations specified are appended to the configurations generated by the Prometheus Operator.
1014     ## As AlertManager configs are appended, the user is responsible to make sure it is valid. Note that using this
1015     ## feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release
1016     ## notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade.
1017     ##
1018     additionalAlertManagerConfigs: []
1019     # - consul_sd_configs:
1020     #   - server: consul.dev.test:8500
1021     #     scheme: http
1022     #     datacenter: dev
1023     #     tag_separator: ','
1024     #     services:
1025     #       - metrics-prometheus-alertmanager
1026
1027     ## AdditionalAlertRelabelConfigs allows specifying Prometheus alert relabel configurations. Alert relabel configurations specified are appended
1028     ## to the configurations generated by the Prometheus Operator. Alert relabel configurations specified must have the form as specified in the
1029     ## official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs.
1030     ## As alert relabel configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the
1031     ## possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel
1032     ## configs are going to break Prometheus after the upgrade.
1033     ##
1034     additionalAlertRelabelConfigs: []
1035     # - separator: ;
1036     #   regex: prometheus_replica
1037     #   replacement: $1
1038     #   action: labeldrop
1039
1040     ## SecurityContext holds pod-level security attributes and common container settings.
1041     ## This defaults to non root user with uid 1000 and gid 2000.
1042     ## https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md
1043     ##
1044     securityContext:
1045       runAsNonRoot: true
1046       runAsUser: 1000
1047       fsGroup: 2000
1048
1049     ##  Priority class assigned to the Pods
1050     ##
1051     priorityClassName: ""
1052
1053     ## Thanos configuration allows configuring various aspects of a Prometheus server in a Thanos environment.
1054     ## This section is experimental, it may change significantly without deprecation notice in any release.
1055     ## This is experimental and may change significantly without backward compatibility in any release.
1056     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#thanosspec
1057     ##
1058     thanos: {}
1059
1060     ## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod.
1061     ##  if using proxy extraContainer  update targetPort with proxy container port
1062     containers: []
1063
1064     ## Enable additional scrape configs that are managed externally to this chart. Note that the prometheus
1065     ## will fail to provision if the correct secret does not exist.
1066     ##
1067     additionalScrapeConfigsExternal: false
1068
1069   additionalServiceMonitors: []
1070   ## Name of the ServiceMonitor to create
1071   ##
1072   # - name: ""
1073
1074     ## Additional labels to set used for the ServiceMonitorSelector. Together with standard labels from
1075     ## the chart
1076     ##
1077     # additionalLabels: {}
1078
1079     ## Service label for use in assembling a job name of the form <label value>-<port>
1080     ## If no label is specified, the service name is used.
1081     ##
1082     # jobLabel: ""
1083
1084     ## Label selector for services to which this ServiceMonitor applies
1085     ##
1086     # selector: {}
1087
1088     ## Namespaces from which services are selected
1089     ##
1090     # namespaceSelector:
1091       ## Match any namespace
1092       ##
1093       # any: false
1094
1095       ## Explicit list of namespace names to select
1096       ##
1097       # matchNames: []
1098
1099     ## Endpoints of the selected service to be monitored
1100     ##
1101     # endpoints: []
1102       ## Name of the endpoint's service port
1103       ## Mutually exclusive with targetPort
1104       # - port: ""
1105
1106       ## Name or number of the endpoint's target port
1107       ## Mutually exclusive with port
1108       # - targetPort: ""
1109
1110       ## File containing bearer token to be used when scraping targets
1111       ##
1112       #   bearerTokenFile: ""
1113
1114       ## Interval at which metrics should be scraped
1115       ##
1116       #   interval: 30s
1117
1118       ## HTTP path to scrape for metrics
1119       ##
1120       #   path: /metrics
1121
1122       ## HTTP scheme to use for scraping
1123       ##
1124       #   scheme: http
1125
1126       ## TLS configuration to use when scraping the endpoint
1127       ##
1128       #   tlsConfig:
1129
1130           ## Path to the CA file
1131           ##
1132           # caFile: ""
1133
1134           ## Path to client certificate file
1135           ##
1136           # certFile: ""
1137
1138           ## Skip certificate verification
1139           ##
1140           # insecureSkipVerify: false
1141
1142           ## Path to client key file
1143           ##
1144           # keyFile: ""
1145
1146           ## Server name used to verify host name
1147           ##
1148           # serverName: ""