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."
|