- Introduced AuthorityAdvisoryAiOptions and related classes for managing advisory AI configurations, including remote inference options and tenant-specific settings. - Added AuthorityApiLifecycleOptions to control API lifecycle settings, including legacy OAuth endpoint configurations. - Implemented validation and normalization methods for both advisory AI and API lifecycle options to ensure proper configuration. - Created AuthorityNotificationsOptions and its related classes for managing notification settings, including ack tokens, webhooks, and escalation options. - Developed IssuerDirectoryClient and related models for interacting with the issuer directory service, including caching mechanisms and HTTP client configurations. - Added support for dependency injection through ServiceCollectionExtensions for the Issuer Directory Client. - Updated project file to include necessary package references for the new Issuer Directory Client library.
42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# 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
|
||
```bash
|
||
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 ~3–4 minutes with `Total tests: 2, Passed: 2`. Store the log and note the run in `SPRINT_100_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).
|