1.5 KiB
1.5 KiB
Outbox Pattern for Event Dispatch
Module
Scanner
Status
IMPLEMENTED
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-IReportEventDispatcherinterface for reliable event dispatch with idempotent processingsrc/Scanner/StellaOps.Scanner.WebService/Services/ReportEventDispatcher.cs-ReportEventDispatcherimplements the outbox pattern for reliable event dispatch with dispatch tracking and retry logic
- OCI Attestation Publisher:
src/Scanner/StellaOps.Scanner.WebService/Services/IOciAttestationPublisher.cs-IOciAttestationPublisherinterface for publishing attestation events to OCI registries
- Report Endpoints:
src/Scanner/StellaOps.Scanner.WebService/Endpoints/ReportEndpoints.cs-ReportEndpointstriggers 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