semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,26 @@
# 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` - `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