IntersectMBO / IntersectMBO/mithril

Add a file-system backend for the certificate chain cache

Open
#3,522 0 comments 0 reactions 0 assignees View on GitHub
feature :rocket:
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.