NotificationChannel E2E 검증 보고서 (#1284 G-1 M3)
PR #1284 (G-1 M3 — drift breach Slack/notification dispatch) 의 AKS prod E2E 검증 결과.
검증 환경
- AKS prod (
aks-genos-prod/ namespacegend) - gend-api
0.2.20260528-426f010(PR #1284 코드 포함) - 검증 일시: 2026-05-29 00:25 KST
단계별 검증
1. 채널 등록 (POST /api/v1/notification/channels)
curl -X POST https://gend.genon.ai/api/v1/notification/channels \
-H "Authorization: Bearer $ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "m3-drift-breach-webhook-test",
"provider_type": "webhook",
"config_json": {"url": "https://httpbin.org/post", "method": "POST"},
"events": ["drift.breach"],
"severity_filter": "all",
"enabled": true
}'
응답 (201 Created):
{
"id": "4c261188-f2ab-4a1c-9ca3-773d71196c8b",
"name": "m3-drift-breach-webhook-test",
"provider_type": "webhook",
"events": ["drift.breach"],
"created_by": "ab1b0d53-6ea9-47df-8145-e09aa8595f56",
"created_at": "2026-05-28T15:25:21.728221Z"
}
2. 테스트 발송 (POST /api/v1/notification/channels/{id}/test)
curl -X POST https://gend.genon.ai/api/v1/notification/channels/4c261188-.../test \
-H "Authorization: Bearer $ADMIN_TOKEN"
응답 (200 OK):
{
"channel_name": "m3-drift-breach-webhook-test",
"provider_type": "webhook",
"success": true,
"error": null
}
3. gend-api 로그 검증
2026-05-28 15:25:36 INFO httpx — HTTP Request: POST https://httpbin.org/post "HTTP/1.1 200 OK"
2026-05-28 15:25:36 INFO gend.audit — {"event": "api_access", "endpoint": "/api/v1/notification/channels/.../test", "status_code": 200, "duration_ms": 823.98, "hmac": "984809df...", ...}
WebhookProvider 가 외부 HTTPS endpoint 로 성공 발송. 동일 audit chain (HMAC) 에 기록됨.
알려진 한계
drift.breach자동 발송 E2E 검증은 별도 단계 필요 — DriftService.compute_and_persist() 가 실제 breach 시 자동 dispatch 하는 흐름은 #1281 lineage emit 의 prod Trino/MLflow 자원 설정 (#2 worktree-ship) 완료 후 검증 가능. 현재는 NotificationService.dispatch() 단독 호출 (test endpoint) 만 검증됨.- webhook.site 사용 시 404 — webhook.site URL 은 처음 방문 시 토큰 등록 필요. 미리 생성한 UUID 로는 동작 안 함. 검증에는
httpbin.org/post(또는 사내 endpoint) 권장. - Linkerd mTLS / NetworkPolicy 영향 — AKS prod 의 외부 HTTPS outbound 가 허용된 상태에서 동작. on-prem 환경에서는 사내 webhook 또는 EmailProvider 권장.
후속 — 실 운영 채널 등록
본 검증의 m3-drift-breach-webhook-test 채널은 테스트용 (httpbin.org). 운영 진입 시:
- 운영팀이 실 Slack workspace webhook URL 발급 (또는 사내 EmailProvider SMTP 정보)
- 위 절차의
config_json.url만 교체 - 별도 채널명 (예:
mlops-alerts-slack-prod) 으로 신규 등록 권장 - 테스트 채널 (
m3-drift-breach-webhook-test) 은 비활성화 또는 삭제
관련
- PR #1284 — G-1 M3 drift breach notification dispatch
- notification-provider-guide — Provider 선택 가이드 (Slack / Email / Webhook / GenOS)
- ml-lifecycle-m3-e2e-verify — M3 사이클 종합 E2E 보고서