k3s/services/proton-bridge/proton-bridge-monitor.yaml

71 lines
2.1 KiB
YAML
Raw Normal View History

2026-07-24 18:33:23 -04:00
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: prometheus-blackbox-exporter
namespace: kube-system
spec:
chart: prometheus-blackbox-exporter
repo: https://prometheus-community.github.io/helm-charts
targetNamespace: monitoring
createNamespace: true
valuesContent: |-
config:
modules:
proton_smtp_auth:
prober: tcp
timeout: 10s
tcp:
2026-07-27 09:49:10 -04:00
tls_config:
insecure_skip_verify: true # Instructs Blackbox to trust Bridge's local cert
2026-07-24 18:33:23 -04:00
query_response:
- expect: "^220"
- send: "EHLO blackbox\r\n"
- expect: "^250"
# --- Remove these 3 lines if Bridge Connection Mode is "None" ---
- send: "STARTTLS\r\n"
- expect: "^220"
- starttls: true
# ----------------------------------------------------------------
- send: "EHLO blackbox\r\n"
- expect: "^250"
2026-07-27 09:49:10 -04:00
- send: "AUTH PLAIN AG5lc3RAbXluZXN0LmxvdmUAZ0pibVNBamdVaF83ejdUNEg4NGhxdw==\r\n"
- expect: "^235"
2026-07-24 18:33:23 -04:00
- send: "QUIT\r\n"
2026-07-27 09:49:10 -04:00
---
apiVersion: monitoring.coreos.com/v1
kind: Probe
metadata:
name: proton-bridge-smtp-probe
namespace: monitoring
labels:
release: kube-prometheus-stack
spec:
interval: 1m
module: proton_smtp_auth
prober:
url: prometheus-blackbox-exporter.monitoring.svc.cluster.local:9115
targets:
staticConfig:
static:
- proton-bridge.default.svc.cluster.local:25
---
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: proton-bridge-alerts
namespace: monitoring
labels:
release: kube-prometheus-stack
spec:
groups:
- name: proton-bridge-alerts
rules:
- alert: ProtonBridgeAuthFailed
expr: probe_success{job="probe/monitoring/proton-bridge-smtp-probe"} == 0
for: 2m
labels:
severity: critical
annotations:
summary: "Proton Bridge Authentication Failed"
description: "Bridge is rejecting SMTP credentials on {{ $labels.instance }}. The token has likely expired and outbound email is failing."