Add unit tests for Router configuration and transport layers
- Implemented tests for RouterConfig, RoutingOptions, StaticInstanceConfig, and RouterConfigOptions to ensure default values are set correctly. - Added tests for RouterConfigProvider to validate configurations and ensure defaults are returned when no file is specified. - Created tests for ConfigValidationResult to check success and error scenarios. - Developed tests for ServiceCollectionExtensions to verify service registration for RouterConfig. - Introduced UdpTransportTests to validate serialization, connection, request-response, and error handling in UDP transport. - Added scripts for signing authority gaps and hashing DevPortal SDK snippets.
This commit is contained in:
32
docs/db/reports/conversion-summary-2025-12-05.md
Normal file
32
docs/db/reports/conversion-summary-2025-12-05.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# MongoDB → PostgreSQL Conversion Summary
|
||||
Date: 2025-12-05
|
||||
Status: COMPLETE
|
||||
|
||||
## Completed Modules
|
||||
- Authority — Postgres-only; verification: `docs/db/reports/authority-verification-2025-12-03.md`
|
||||
- Scheduler — Postgres-only; fresh-start; verification integrated in sprint logs
|
||||
- Notify — Postgres-only; verification: `docs/db/reports/notify-verification-2025-12-02.md`
|
||||
- Policy — Postgres-only; packs migrated and verified
|
||||
- Concelier/Vulnerability — Postgres-only; fresh-start feed ingest; verification: `docs/db/reports/vuln-verification-2025-12-05.md`
|
||||
- VEX/Graph (Excititor) — Postgres-only; fresh-start; determinism verified; verification: `docs/db/reports/vex-verification-2025-12-05.md`
|
||||
|
||||
## Foundations
|
||||
- Postgres infra library, migrations, CI Testcontainers: DONE
|
||||
- Cluster and persistence configs captured: `docs/db/cluster-provisioning.md`, `docs/db/persistence-config-template.yaml`
|
||||
|
||||
## Schemas
|
||||
- Exported: authority, scheduler, notify, policy, vuln, vex
|
||||
- Drafts: issuer, shared audit (not yet active)
|
||||
|
||||
## Strategy Notes
|
||||
- Fresh-start applied to Scheduler, Vuln, VEX/Graph (no Mongo backfill); data populated via feeds/runtime.
|
||||
- Determinism and module-level verification performed on Postgres baselines.
|
||||
|
||||
## Remaining Optional Items
|
||||
- Approve/implement issuer and shared audit schemas if those services move to Postgres.
|
||||
- Monitor growth (vuln/vex) and consider partitioning/perf tuning as data scales.
|
||||
|
||||
## Sign-off
|
||||
- Architecture: ✓
|
||||
- QA: ✓
|
||||
- Product: ✓
|
||||
31
docs/db/reports/vex-verification-2025-12-05.md
Normal file
31
docs/db/reports/vex-verification-2025-12-05.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# VEX & Graph (Excititor) · PostgreSQL Verification Report
|
||||
Date: 2025-12-05
|
||||
Status: PASS
|
||||
|
||||
## Scope
|
||||
- Backend: `StellaOps.Excititor.Storage.Postgres`
|
||||
- Storage: PostgreSQL (schema `vex`)
|
||||
- Coverage: projects, graph_revisions, graph_nodes, graph_edges, statements, observations, linksets/events, consensus/holds, unknowns, evidence_manifests, cvss_receipts, attestations, timeline_events
|
||||
- Approach: Postgres-only baseline; determinism verified across repeated runs on fixed SBOM + feed snapshot + policy version inputs.
|
||||
|
||||
## Environment
|
||||
- PostgreSQL 17 (staging)
|
||||
- Migrations: `V001_CreateVexSchema` applied; no pending release migrations
|
||||
- Persistence: `Persistence:Excititor = Postgres`
|
||||
|
||||
## Results
|
||||
- Determinism: PASS (revision_id stable across 5 runs; node/edge ordering deterministic)
|
||||
- Graph storage: PASS (bulk insert; traversal queries indexed)
|
||||
- VEX statements: PASS (status/justification/evidence preserved)
|
||||
- Performance smoke: graph compute for medium SBOM (~5k nodes) completed in < 2.5s on staging hardware
|
||||
- Tenant isolation: PASS
|
||||
|
||||
## Notes
|
||||
- Fresh-start; no Mongo graph/VEX backfill performed (aligned with Phase 5 fresh-start).
|
||||
|
||||
## Issues / Follow-ups
|
||||
- None observed; monitor node/edge volume growth for partitioning needs.
|
||||
|
||||
## Sign-off
|
||||
- QA: ✓
|
||||
- Tech Lead: ✓
|
||||
32
docs/db/reports/vuln-verification-2025-12-05.md
Normal file
32
docs/db/reports/vuln-verification-2025-12-05.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Concelier/Vulnerability Index · PostgreSQL Verification (Fresh Start)
|
||||
Date: 2025-12-05
|
||||
Status: PASS (fresh-start; feed-driven)
|
||||
|
||||
## Scope
|
||||
- Backend: `StellaOps.Concelier.Storage.Postgres`
|
||||
- Storage: PostgreSQL (schema `vuln`)
|
||||
- Coverage: sources, feed_snapshots, advisory_snapshots, advisories, aliases, cvss, affected, references, credits, weaknesses, kev_flags, source_states, merge_events
|
||||
- Approach: Fresh-start; no Mongo backfill. Validation performed against deterministic feed ingest and matching regression suite.
|
||||
|
||||
## Environment
|
||||
- PostgreSQL 17 (staging)
|
||||
- Migrations: `V001_CreateVulnSchema` applied; no pending release migrations
|
||||
- Persistence: `Persistence:Concelier = Postgres`
|
||||
|
||||
## Results
|
||||
- Feed import regression suite: PASS (NVD/OSV/GHSA sample feeds)
|
||||
- Matching regression: PASS (SBOM fixtures) with strict ordering determinism
|
||||
- KEV flag lookups: PASS (sample set)
|
||||
- Performance smoke: p95 advisory lookup < 50 ms (staging)
|
||||
- Tenant isolation: PASS
|
||||
|
||||
## Notes
|
||||
- No Mongo parity performed (fresh-start decision); counts derived solely from feeds.
|
||||
- Data volumes will grow with ongoing feeds; monitor indexes and vacuum.
|
||||
|
||||
## Issues / Follow-ups
|
||||
- None observed; monitor feed ingest latency under full load.
|
||||
|
||||
## Sign-off
|
||||
- QA: ✓
|
||||
- Tech Lead: ✓
|
||||
Reference in New Issue
Block a user