cm.yaml 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. {{- if .Values.server.enabled -}}
  2. {{- if (empty .Values.server.configMapOverrideName) -}}
  3. apiVersion: v1
  4. kind: ConfigMap
  5. metadata:
  6. labels:
  7. {{- include "prometheus.server.labels" . | nindent 4 }}
  8. name: {{ template "prometheus.server.fullname" . }}
  9. {{ include "prometheus.namespace" . | indent 2 }}
  10. data:
  11. {{- $root := . -}}
  12. {{- range $key, $value := .Values.ruleFiles }}
  13. {{ $key }}: {{- toYaml $value | indent 2 }}
  14. {{- end }}
  15. {{- range $key, $value := .Values.serverFiles }}
  16. {{ $key }}: |
  17. {{- if eq $key "prometheus.yml" }}
  18. global:
  19. {{ $root.Values.server.global | toYaml | trimSuffix "\n" | indent 6 }}
  20. {{- if $root.Values.server.remoteWrite }}
  21. remote_write:
  22. {{ $root.Values.server.remoteWrite | toYaml | indent 4 }}
  23. {{- end }}
  24. {{- if $root.Values.server.remoteRead }}
  25. remote_read:
  26. {{ $root.Values.server.remoteRead | toYaml | indent 4 }}
  27. {{- end }}
  28. {{- end }}
  29. {{- if eq $key "alerts" }}
  30. {{- if and (not (empty $value)) (empty $value.groups) }}
  31. groups:
  32. {{- range $ruleKey, $ruleValue := $value }}
  33. - name: {{ $ruleKey -}}.rules
  34. rules:
  35. {{ $ruleValue | toYaml | trimSuffix "\n" | indent 6 }}
  36. {{- end }}
  37. {{- else }}
  38. {{ toYaml $value | indent 4 }}
  39. {{- end }}
  40. {{- else }}
  41. {{ toYaml $value | default "{}" | indent 4 }}
  42. {{- end }}
  43. {{- if eq $key "prometheus.yml" -}}
  44. {{- if $root.Values.extraScrapeConfigs }}
  45. {{ tpl $root.Values.extraScrapeConfigs $root | indent 4 }}
  46. {{- end -}}
  47. {{- if or ($root.Values.alertmanager.enabled) ($root.Values.server.alertmanagers) }}
  48. alerting:
  49. {{- if $root.Values.alertRelabelConfigs }}
  50. {{ $root.Values.alertRelabelConfigs | toYaml | trimSuffix "\n" | indent 6 }}
  51. {{- end }}
  52. alertmanagers:
  53. {{- if $root.Values.server.alertmanagers }}
  54. {{ toYaml $root.Values.server.alertmanagers | indent 8 }}
  55. {{- else }}
  56. - kubernetes_sd_configs:
  57. - role: pod
  58. tls_config:
  59. ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
  60. bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  61. {{- if $root.Values.alertmanager.prefixURL }}
  62. path_prefix: {{ $root.Values.alertmanager.prefixURL }}
  63. {{- end }}
  64. relabel_configs:
  65. - source_labels: [__meta_kubernetes_namespace]
  66. regex: {{ $root.Release.Namespace }}
  67. action: keep
  68. - source_labels: [__meta_kubernetes_pod_label_app]
  69. regex: {{ template "prometheus.name" $root }}
  70. action: keep
  71. - source_labels: [__meta_kubernetes_pod_label_component]
  72. regex: alertmanager
  73. action: keep
  74. - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_probe]
  75. regex: {{ index $root.Values.alertmanager.podAnnotations "prometheus.io/probe" | default ".*" }}
  76. action: keep
  77. - source_labels: [__meta_kubernetes_pod_container_port_number]
  78. regex: "9093"
  79. action: keep
  80. {{- end -}}
  81. {{- end -}}
  82. {{- end -}}
  83. {{- end -}}
  84. {{- end -}}
  85. {{- end -}}