2.7 KiB
2.7 KiB
PostgreSQL Storage Layer (Proof Evidence Repositories)
Module
Concelier
Status
IMPLEMENTED
Description
Three PostgreSQL repository implementations backed by Dapper/Npgsql. Database schema defines 6 tables across 3 schemas (vuln: distro_advisories, changelog_evidence, patch_evidence, patch_signatures; feedser: binary_fingerprints; attestor: proof_blobs) with 18 indices including GIN indices for CVE array queries and composite indices for CVE+package lookups.
Implementation Details
- Modules:
src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/ - Key Classes:
AdvisoryRepository(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryRepository.cs) - raw advisory CRUD with GIN index supportAdvisoryCanonicalRepository(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/AdvisoryCanonicalRepository.cs) - canonical advisory persistencePostgresDtoStore(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresDtoStore.cs) - DTO storage layerPostgresChangeHistoryStore(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresChangeHistoryStore.cs) - advisory change history trackingPostgresPsirtFlagStore(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresPsirtFlagStore.cs) - PSIRT flag persistencePostgresJpFlagStore(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/PostgresJpFlagStore.cs) - JP flag persistenceInterestScoreRepository(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/InterestScoreRepository.cs) - interest score persistenceFeedSnapshotRepository(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/FeedSnapshotRepository.cs) - feed snapshot persistenceSyncLedgerRepository(src/Concelier/__Libraries/StellaOps.Concelier.Persistence/Postgres/Repositories/SyncLedgerRepository.cs) - federation sync ledger
- Interfaces:
IAdvisoryRepository,IAdvisoryCanonicalRepository,IDtoStore,IChangeHistoryStore - Source: Feature matrix scan
E2E Test Plan
- Verify CVE array query: insert advisories with multiple CVE IDs and query using GIN index-backed CVE array search
- Verify composite index: query by CVE+package combination and confirm efficient lookup
- Verify change history: update an advisory and confirm
PostgresChangeHistoryStorerecords the change - Verify all 6 tables are created during schema migration across the 3 schemas (vuln, feedser, attestor)
- Verify
SyncLedgerRepositorypersists and retrieves federation sync cursors