117 lines
3.2 KiB
YAML
117 lines
3.2 KiB
YAML
{{- with .Values.alertmanager.receiver.matrix }}
|
|
{{- if .enabled }}
|
|
---
|
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
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 $name, $conf := .rooms }}
|
|
{{- range $item := $conf }}
|
|
- {{ $item.room | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
alertmanager: "http://kube-prometheus-stack-alertmanager:9093"
|
|
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 }}
|