flux-charts/infra-monitoring/templates/alertmanager/matrix/release.yaml

119 lines
3.3 KiB
YAML

{{- with .Values.alertmanager.receiver.matrix }}
{{- if .enabled }}
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: "alertmanager-matrix"
spec:
chart:
spec:
sourceRef:
kind: "GitRepository"
name: "wrenix-helm-charts"
namespace: "flux-system"
chart: "./alertmanager-matrix"
reconcileStrategy: "Revision"
install:
{{- toYaml $.Values.commons.helm.release.install | nindent 4 }}
test:
{{- toYaml $.Values.commons.helm.release.test | nindent 4 }}
upgrade:
{{- toYaml $.Values.commons.helm.release.upgrade | nindent 4 }}
driftDetection:
{{- toYaml $.Values.commons.helm.release.driftDetection | nindent 4 }}
interval: 10m
valuesFrom:
- kind: Secret
name: "global-alertmanager-matrix-token"
optional: false
valuesKey: token
targetPath: bot.matrix.token
values:
replicaCount: 1
bot:
matrix:
homeserver: {{ .homeserver | quote }}
userID: {{ .userID | quote }}
rooms:
- {{ .default | quote }}
{{- range $item := .rooms }}
- {{ $item.room | quote }}
{{- end }}
{{- if $.Values.alertmanager.ingress.enabled }}
alertmanager: "https://{{ $.Values.alertmanager.ingress.host | default (printf "alertmanager.%s" $.Values.commons.ingress.domain) }}"
{{- else }}
alertmanager: "http://kube-prometheus-stack-alertmanager:9093"
{{- end }}
showLabels: true
{{`
template:
html: >
{{ range .Alerts }}
<font color="{{.StatusString|color}}">
{{.StatusString|icon}}
<b>{{.StatusString|upper}}</b>
</font>
<b>{{.AlertName}}</b><br/>
{{if ne .Summary "" }}
Summary: {{.Summary}}
{{end}}
{{if ne .Fingerprint ""}}
({{.Fingerprint}})
{{end}}
{{if ne .GeneratorURL ""}}
<a href="{{.GeneratorURL}}">more</a>
{{end}}
{{- $labels := dict }}
{{- range $key, $value := .Alert.Labels }}
{{- $labels = set $labels $key $value }}
{{- end }}
<br/>
{{ coalesce $labels.exported_namespace $labels.namespace "unknown" }}
{{if $.ShowLabels}}
<br/>
<b>Labels:</b>
<table>
{{ range $key := omit $labels "alertname" "severity" "exported_namespace" "namespace" |
keys | sortAlpha }}
{{ $value := get $labels $key }}
<tr>
<td>{{ $key }}</td>
<td>{{ $value }}</td>
</tr>
{{ end }}
</table>
{{end}}
<br/>
{{- end -}}
`}}
serviceAccount:
create: false
podSecurityContext:
fsGroup: 1000
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsUser: 1000
runAsGroup: 1000
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: 4
tolerations:
{{- toYaml $.Values.commons.tolerations | nindent 6 }}
affinity:
{{- toYaml $.Values.commons.affinity | nindent 6 }}
{{- end }}
{{- end }}