본문으로 건너뛰기

NotificationChannel E2E 검증 보고서 (#1284 G-1 M3)

PR #1284 (G-1 M3 — drift breach Slack/notification dispatch) 의 AKS prod E2E 검증 결과.

검증 환경

  • AKS prod (aks-genos-prod / namespace gend)
  • 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). 운영 진입 시:

  1. 운영팀이 실 Slack workspace webhook URL 발급 (또는 사내 EmailProvider SMTP 정보)
  2. 위 절차의 config_json.url 만 교체
  3. 별도 채널명 (예: mlops-alerts-slack-prod) 으로 신규 등록 권장
  4. 테스트 채널 (m3-drift-breach-webhook-test) 은 비활성화 또는 삭제

관련