Files
git.stella-ops.org/docs/modules/attestor/ttl-validation.md
StellaOps Bot f1a39c4ce3
Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Notify Smoke Test / Notify Unit Tests (push) Has been cancelled
Notify Smoke Test / Notifier Service Tests (push) Has been cancelled
Notify Smoke Test / Notification Smoke Test (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
Signals CI & Image / signals-ci (push) Has been cancelled
Signals Reachability Scoring & Events / reachability-smoke (push) Has been cancelled
Signals Reachability Scoring & Events / sign-and-upload (push) Has been cancelled
Manifest Integrity / Validate Schema Integrity (push) Has been cancelled
Manifest Integrity / Validate Contract Documents (push) Has been cancelled
Manifest Integrity / Validate Pack Fixtures (push) Has been cancelled
Manifest Integrity / Audit SHA256SUMS Files (push) Has been cancelled
Manifest Integrity / Verify Merkle Roots (push) Has been cancelled
devportal-offline / build-offline (push) Has been cancelled
Mirror Thin Bundle Sign & Verify / mirror-sign (push) Has been cancelled
up
2025-12-13 18:08:55 +02:00

2.7 KiB
Raw Blame History

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 27017 and 6379 free.
  • dotnet SDK 10.0 preview (same as repo toolchain).
  • Network access to pull mongo:7 and redis:7 images.

Quickstart

  1. From the repo root export any required proxy settings, then run

    scripts/run-attestor-ttl-validation.sh
    

    The helper script:

    • Spins up mongo:7 and redis:7 containers.
    • Sets ATTESTOR_LIVE_MONGO_URI / ATTESTOR_LIVE_REDIS_URI.
    • Executes the live TTL test suite (Category=LiveTTL) in StellaOps.Attestor.Tests.
    • Tears the stack down automatically.
  2. 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 ~34 minutes with Total tests: 2, Passed: 2. Store the log and note the run in docs/implplan/archived/SPRINT_0100_0001_0001_identity_signing.md under ATTESTOR-72-003.
  • Failure: Preserve:
    • docker compose logs for both services.
    • mongosh output of db.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:

  1. Start MongoDB and Redis manually with equivalent configuration.
  2. Set ATTESTOR_LIVE_MONGO_URI and ATTESTOR_LIVE_REDIS_URI.
  3. Run dotnet test src/Attestor/StellaOps.Attestor.sln --no-build --filter "Category=LiveTTL".
  4. 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: mongod 7.0.5 (tarball) + mongosh 2.0.2, redis-server 7.2.4 (source build) running on localhost without Docker.
  • Mongo results: dedupe TTL index (ttlAt, expireAfterSeconds: 0) confirmed; document inserted with 20s TTL expired automatically after ~80s (expected allocator sweep). Evidence: docs/modules/attestor/evidence/2025-11-03-mongo-ttl-validation.txt.
  • Redis results: Key attestor:ttl:live:bundle:validation set with 45s TTL reached TTL=-2 after ~47s 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.