2.4 KiB
2.4 KiB
Durable Submission Queue
Module
Attestor
Status
VERIFIED
Description
Durable Rekor submission queue with backend support, submission responses, and entry event tracking.
Implementation Details
- Queue Interface:
src/Attestor/StellaOps.Attestor/StellaOps.Attestor.Core/Queue/IRekorSubmissionQueue.cs-- durable queue interface for Rekor submissions. - Queue Models:
RekorQueueItem.cs-- queue item with payload, status, and retry metadata.RekorSubmissionStatus.cs-- status enum (Pending, Processing, Completed, Failed).QueueDepthSnapshot.cs-- queue depth metrics. - PostgreSQL Queue:
StellaOps.Attestor.Infrastructure/Queue/PostgresRekorSubmissionQueue.cs-- PostgreSQL-backed durable queue using SKIP LOCKED for concurrent consumers. - Retry Worker:
Infrastructure/Workers/RekorRetryWorker.cs-- background worker retrying failed submissions. - Queue Options:
StellaOps.Attestor.Core/Options/RekorQueueOptions.cs-- queue configuration (batch size, retry interval, max retries). - Rekor Submission Response:
Rekor/RekorSubmissionResponse.cs-- response model from Rekor API. - Entry Events:
Rekor/RekorEntryEvent.cs-- events emitted on submission lifecycle changes. - Tests:
StellaOps.Attestor.Tests/RekorSubmissionQueueTests.cs,RekorRetryWorkerTests.cs,Integration/PostgresRekorSubmissionQueueIntegrationTests.cs,__Tests/StellaOps.Attestor.Core.Tests/Rekor/RekorEntryEventTests.cs
E2E Test Plan
- Enqueue 10 items to
PostgresRekorSubmissionQueueand verifyQueueDepthSnapshotshows 10 pending - Dequeue items using SKIP LOCKED and verify concurrent consumers do not process the same item
- Process a queue item successfully and verify status changes to
Completed - Simulate a submission failure and verify status changes to
Failedwith retry count incremented - Verify
RekorRetryWorkerpicks up failed items after the retry interval and reprocesses them - Verify items exceeding max retries are not retried further
- Verify
RekorEntryEventis emitted on each status transition - Verify queue survives process restart (items persist in PostgreSQL)
Verification
| Check | Result |
|---|---|
| Tier 0 - Source Verification | PASS |
| Tier 1 - Build + Code Review | PASS |
| Tier 2 - Behavioral Verification | PASS |
| Verified Date | 2026-02-13 |
| Run ID | run-001 |