Compare commits

...

8 Commits

Author SHA1 Message Date
Raffael H
e0af833bff Update alertmanager config 2023-10-17 16:07:57 +02:00
Thomas Philipona
7c36030329
Add mailcatcher config 2023-10-16 22:50:14 +02:00
Thomas Philipona
226156b36a
Fix Thanos ruler 2023-10-16 22:30:44 +02:00
Thomas Philipona
c2f4139315
Update AM config 2023-10-16 21:32:39 +02:00
Thomas Philipona
9e1610443f
Fix am 2023-10-16 20:35:08 +02:00
Thomas Philipona
530acdb363
add AM resources 2023-10-16 19:47:48 +02:00
Thomas Philipona
d5ebb49393
Merge pull request #1 from acend/add/mailcatcher
Add mailcatcher templates
2023-10-16 19:44:20 +02:00
madchr1st
909ac9b911 Add mailcatcher templates 2023-10-13 15:26:01 +00:00
9 changed files with 192 additions and 5 deletions

View File

@ -0,0 +1,23 @@
{{- define "alertmanager.config-mailcatcher" }}
---
apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
name: {{ .Values.user }}-mailcatcher
labels:
alertmanagerConfig: {{ .Values.user }}-alertmanager
spec:
route:
groupBy: ['job']
groupWait: 30s
groupInterval: 5m
repeatInterval: 12h
receiver: 'mailcatcher'
receivers:
- name: 'mailcatcher'
emailConfigs:
- to: alert@localhost
from: prometheus-operator@localhost
smarthost: mailcatcher:1025
requireTLS: false
{{- end }}

View File

@ -0,0 +1,21 @@
{{- define "alertmanager.servicemonitor" }}
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
app.kubernetes.io/name: mariadb
name: alertmanager
spec:
endpoints:
- interval: 60s
port: web
scheme: http
path: /metrics
namespaceSelector:
matchNames:
- {{ .Values.user }}-monitoring
selector:
matchLabels:
operated-alertmanager: 'true'
{{- end }}

View File

@ -4,7 +4,51 @@ apiVersion: monitoring.coreos.com/v1
kind: Alertmanager
metadata:
labels:
app.kubernetes.io/name: {{ .Values.user }}-am
name: {{ .Values.user }}-am
spec: {}
app.kubernetes.io/name: {{ .Values.user }}-alertmanager
name: {{ .Values.user }}-alertmanager
spec:
alertmanagerConfigNamespaceSelector:
matchLabels:
user: {{ .Values.user }}-alertmanager
alertmanagerConfigSelector:
matchLabels:
alertmanagerConfig: {{ .Values.user }}-alertmanager
image: quay.io/prometheus/alertmanager:v0.25.0
replicas: 1
resources:
requests:
cpu: 10m
memory: 40Mi
storage:
volumeClaimTemplate:
spec:
resources:
requests:
storage: 100Mi
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
haproxy.org/auth-secret: basic-auth
haproxy.org/auth-type: basic-auth
haproxy.org/auth-realm: Authentication Required
name: {{ .Values.user }}-alertmanager
spec:
ingressClassName: haproxy
rules:
- host: {{ .Values.user }}-alertmanager.training.cluster.acend.ch
http:
paths:
- backend:
service:
name: alertmanager-operated
port:
number: 9093
path: /
pathType: ImplementationSpecific
tls:
- hosts:
- {{ .Values.user }}-alertmanager.training.cluster.acend.ch
secretName: acend-wildcard
{{- end }}

View File

@ -0,0 +1,28 @@
{{- define "mailcatcher.deploy" }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: mailcatcher
name: mailcatcher
namespace: {{ .Values.user }}-monitoring
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: mailcatcher
template:
metadata:
labels:
app.kubernetes.io/name: mailcatcher
spec:
containers:
- image: sj26/mailcatcher:v0.9.0
name: mailcatcher
ports:
- containerPort: 1080
name: http
- containerPort: 1025
name: smtp
{{- end }}

View File

@ -0,0 +1,30 @@
{{- define "mailcatcher.ingress" }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
haproxy.org/auth-secret: basic-auth
haproxy.org/auth-type: basic-auth
haproxy.org/auth-realm: Authentication Required
labels:
app.kubernetes.io/name: {{ .Values.user }}-mailcatcher
name: {{ .Values.user }}-mailcatcher
spec:
ingressClassName: haproxy
rules:
- host: {{ .Values.user }}-mailcatcher.training.cluster.acend.ch
http:
paths:
- backend:
service:
name: mailcatcher
port:
number: 1080
path: /
pathType: ImplementationSpecific
tls:
- hosts:
- {{ .Values.user }}-mailcatcher.training.cluster.acend.ch
secretName: acend-wildcard
{{- end }}

View File

@ -0,0 +1,22 @@
{{- define "mailcatcher.svc" }}
---
apiVersion: v1
kind: Service
metadata:
name: mailcatcher
labels:
app.kubernetes.io/name: mailcatcher
spec:
ports:
- name: http
port: 1080
protocol: TCP
targetPort: http
- name: smtp
port: 1025
protocol: TCP
targetPort: smtp
selector:
app.kubernetes.io/name: mailcatcher
type: ClusterIP
{{- end }}

View File

@ -7,12 +7,26 @@ metadata:
app.kubernetes.io/name: thanos-ruler
name: thanos-ruler
spec:
alertQueryUrl: {{ .Values.user }}-thanos-query.training.cluster.acend.ch
image: quay.io/thanos/thanos:v0.28.1
evaluationInterval: 10s
queryEndpoints:
- thanos-query.{{ .Values.user }}-monitoring.svc.cluster.local:10902
- dnssrv+_http._tcp.thanos-query:10902
ruleSelector: {}
ruleNamespaceSelector:
matchLabels:
user: {{ .Values.user }}
alertmanagersConfig:
key: alertmanager-configs.yaml
name: thanosruler-alertmanager-config
---
apiVersion: v1
kind: Secret
metadata:
name: thanosruler-alertmanager-config
stringData:
alertmanager-configs.yaml: |-
alertmanagers:
- static_configs:
- "dnssrv+_web._tcp.alertmanager-operated.{{ .Values.user }}-monitoring.svc.cluster.local"
api_version: v2
{{- end }}

View File

@ -2,6 +2,11 @@
{{- if .Values.alertmanager.enabled }}
{{- template "alertmanager.alertmanager" . }}
{{- template "alertmanager.servicemonitor" . }}
{{- template "alertmanager.config-mailcatcher" . }}
{{- template "mailcatcher.deploy" . }}
{{- template "mailcatcher.svc" . }}
{{- template "mailcatcher.ingress" . }}
{{- end }}
# blackboxexporter