cm.yaml 2.8 KB

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