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