feat: Telegram notifications from SAC on ingest

Send Telegram alerts for high/critical events and new Problems.
Configurable via TELEGRAM_* env vars; ingest never fails on send errors.
This commit is contained in:
PTah
2026-05-27 12:21:03 +10:00
parent 5fce00faae
commit eeba3a704d
9 changed files with 102 additions and 9 deletions
+6 -1
View File
@@ -15,6 +15,7 @@ from app.schemas.list_models import EventDetail, EventListResponse, EventSummary
from app.services.ingest import ingest_event
from app.services.problems import maybe_create_problem
from app.services.schema_validate import validate_event_payload
from app.services.telegram_notify import notify_event, notify_problem
router = APIRouter(prefix="/events", tags=["events"])
@@ -39,8 +40,12 @@ def post_event(
event, created = ingest_event(db, payload)
problem = None
problem_created = False
if created:
problem = maybe_create_problem(db, event)
problem, problem_created = maybe_create_problem(db, event)
notify_event(event)
if problem is not None and problem_created:
notify_problem(problem, event)
db.commit()
settings = get_settings()