Files
git.stella-ops.org/docs/features/checked/scanner/outbox-pattern-for-event-dispatch.md
2026-02-14 09:11:48 +02:00

1.7 KiB

Outbox Pattern for Event Dispatch

Module

Scanner

Status

VERIFIED

Description

Outbox pattern for reliable event dispatch with idempotent processing, dispatch tracking, and retry logic.

Implementation Details

  • Event Dispatcher:
    • src/Scanner/StellaOps.Scanner.WebService/Services/IReportEventDispatcher.cs - IReportEventDispatcher interface for reliable event dispatch with idempotent processing
    • src/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs - ReportEventDispatcher implements the outbox pattern for reliable event dispatch with dispatch tracking and retry logic
  • OCI Attestation Publisher:
    • src/Scanner/StellaOps.Scanner.WebService/Services/IOciAttestationPublisher.cs - IOciAttestationPublisher interface for publishing attestation events to OCI registries
  • Report Endpoints:
    • src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs - ReportEndpoints triggers event dispatch for completed scan reports

E2E Test Plan

  • Complete a scan and verify the report event dispatcher reliably publishes scan completion events
  • Simulate a transient failure during event dispatch and verify the retry logic reprocesses the event
  • Verify idempotent processing ensures duplicate events are not dispatched for the same scan
  • Verify dispatch tracking records the status of each dispatched event (pending, dispatched, failed)
  • Verify the outbox pattern guarantees at-least-once delivery for scan report events

Verification

Check Result
Tier 0 - Source files exist PASS
Tier 1 - Build + code review PASS
Tier 2 - Integration tests PASS
Verified 2026-02-13T18:10:00Z