Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Implement `SbomIngestServiceCollectionExtensionsTests` to verify the SBOM ingestion pipeline exports snapshots correctly. - Create `SbomIngestTransformerTests` to ensure the transformation produces expected nodes and edges, including deduplication of license nodes and normalization of timestamps. - Add `SbomSnapshotExporterTests` to test the export functionality for manifest, adjacency, nodes, and edges. - Introduce `VexOverlayTransformerTests` to validate the transformation of VEX nodes and edges. - Set up project file for the test project with necessary dependencies and configurations. - Include JSON fixture files for testing purposes.
2.6 KiB
2.6 KiB
Attestor TTL Validation Runbook
Purpose: confirm MongoDB TTL indexes and Redis expirations for the attestation dedupe store behave as expected on a production-like stack.
Prerequisites
- Docker Desktop or compatible daemon with the Compose plugin enabled.
- Local ports
27017and6379free. dotnetSDK 10.0 preview (same as repo toolchain).- Network access to pull
mongo:7andredis:7images.
Quickstart
-
From the repo root export any required proxy settings, then run
scripts/run-attestor-ttl-validation.shThe helper script:
- Spins up
mongo:7andredis:7containers. - Sets
ATTESTOR_LIVE_MONGO_URI/ATTESTOR_LIVE_REDIS_URI. - Executes the live TTL test suite (
Category=LiveTTL) inStellaOps.Attestor.Tests. - Tears the stack down automatically.
- Spins up
-
Capture the test output (
ttl-validation-<timestamp>.log) and attach it to the sprint evidence folder (docs/modules/attestor/evidence/).
Result handling
- Success: Tests complete in ~3–4 minutes with
Total tests: 2, Passed: 2. Store the log and note the run inSPRINT_100_identity_signing.mdunder ATTESTOR-72-003. - Failure: Preserve:
docker compose logsfor both services.mongoshoutput ofdb.dedupe.getIndexes()and sample documents.redis-cli --raw ttl attestor:ttl:live:bundle:<id>. File an incident in the Attestor Guild channel and link the captured artifacts.
Manual verification (optional)
If the helper script cannot be used:
- Start MongoDB and Redis manually with equivalent configuration.
- Set
ATTESTOR_LIVE_MONGO_URIandATTESTOR_LIVE_REDIS_URI. - Run
dotnet test src/Attestor/StellaOps.Attestor.sln --no-build --filter "Category=LiveTTL". - Follow the evidence handling steps above.
Ownership
- Primary: Attestor Service Guild.
- Partner: QA Guild (observes TTL metrics, confirms evidence archiving).
2025-11-03 validation summary
- Stack:
mongod7.0.5 (tarball) +mongosh2.0.2,redis-server7.2.4 (source build) running on localhost without Docker. - Mongo results:
dedupeTTL index (ttlAt,expireAfterSeconds: 0) confirmed; document inserted with 20 s TTL expired automatically after ~80 s (expected allocator sweep). Evidence:docs/modules/attestor/evidence/2025-11-03-mongo-ttl-validation.txt. - Redis results: Key
attestor:ttl:live:bundle:validationset with 45 s TTL reachedTTL=-2after ~47 s confirming expiry propagation. Evidence:docs/modules/attestor/evidence/2025-11-03-redis-ttl-validation.txt. - Notes: Local binaries built/run to accommodate sandbox without Docker; services shut down after validation.