IntersectMBO / IntersectMBO/mithril
Add a file-system backend for the certificate chain cache
- Dominant language
- Rust
- Stars
- 154
- Forks
- 51
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 38
Description
## Why
The in-memory cache does not survive a restart, and the CLI starts a fresh process on every command, so nothing is saved across invocations.
## What
Add a `FileCertificateVerifierCache` implementation of `CertificateVerifierCache` in `mithril-client` for non-WASM targets.
## How
- [ ] Store each certificate in a separate file
- [ ] Use a folder for the committed cache
- [ ] Use a folder by certificate chain validation id for staging (support pruning?)
- [ ] Invalidate the cache entry upon parsing error of a certificate file
- [ ] Upon committing, the staged certificates are moved the to the committed cache (atomic files move, do we need some Mutex to commit staging area sequentially?)
Contributor guide
Research direction
Start in the mithril-client implementation of CertificateVerifierCache and review the existing in-memory cache contract, then inspect how the CLI creates and commits cache entries. Define the file layout and staging behavior from the checklist, including parse-error invalidation, pruning, and safe commit semantics; the work is done when each requirement is covered for non-WASM targets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100