fix(alerts): 收斂 Telegram 告警到 SRE 戰情室
This commit is contained in:
@@ -4,8 +4,8 @@ Notification routing matrix — ADR-093
|
||||
單一矩陣決定每種通知類型的發送目標,取代 telegram_gateway.py 內 24 處硬碼 chat_id。
|
||||
|
||||
設計原則:
|
||||
- 正式告警目的地一律 SRE_GROUP_CHAT_ID 優先
|
||||
- OPENCLAW_TG_CHAT_ID 只在 SRE_GROUP_CHAT_ID 缺失時作 fail-soft fallback
|
||||
- 正式告警目的地一律為 SRE_GROUP_CHAT_ID
|
||||
- SRE_GROUP_CHAT_ID 缺失時必須顯示配置缺口,不得旁路到個人或其他群組
|
||||
- 未知通知類型預設發群組
|
||||
|
||||
2026-04-25 ogt + Claude Sonnet 4.6
|
||||
@@ -16,7 +16,7 @@ from enum import Enum
|
||||
|
||||
|
||||
class Destination(str, Enum):
|
||||
DM = "dm" # OPENCLAW_TG_CHAT_ID (僅缺群組設定時 fallback)
|
||||
DM = "dm" # legacy alias: 2026-06-12 起不再旁路至 DM
|
||||
GROUP = "group" # SRE_GROUP_CHAT_ID
|
||||
BOTH = "both" # legacy alias: 2026-04-30 起視為 group-first
|
||||
|
||||
@@ -28,7 +28,7 @@ class RoutingRule:
|
||||
|
||||
|
||||
# ADR-093 D1-D4 路由矩陣
|
||||
# 2026-04-30 Codex: 所有告警類型群組優先,DM 只作缺群組設定 fallback。
|
||||
# 2026-06-12 Codex: 所有正式告警只送 AwoooI SRE 戰情室;缺群組設定時回空清單。
|
||||
NOTIFICATION_ROUTING: dict[str, RoutingRule] = {
|
||||
"TYPE-1": RoutingRule(Destination.GROUP),
|
||||
"TYPE-2": RoutingRule(Destination.GROUP),
|
||||
@@ -60,7 +60,5 @@ def resolve_chat_ids(
|
||||
回傳此通知應發送的 chat_id 清單。
|
||||
tg_group_cutover 僅保留為舊 caller 相容參數;正式策略永遠群組優先。
|
||||
"""
|
||||
rule = get_routing_rule(notification_type)
|
||||
if rule.destination == Destination.DM and not group_chat_id:
|
||||
return [dm_chat_id] if dm_chat_id else []
|
||||
return [group_chat_id or dm_chat_id] if (group_chat_id or dm_chat_id) else []
|
||||
_ = get_routing_rule(notification_type)
|
||||
return [group_chat_id] if group_chat_id else []
|
||||
|
||||
Reference in New Issue
Block a user