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