microsoft / rnx-kit

Modern, scalable tools. Exceptional developer experience.
https://microsoft.github.io/rnx-kit/
MIT License
1.51k stars 96 forks source link

Build a distributed metro cache implementation #1284

Open afoxman opened 2 years ago

afoxman commented 2 years ago

Build a distributed cache implementation for Metro using http/smb (file-server) or ADO (artifact store).

Detailed notes are in https://github.com/microsoft/rnx-kit/discussions/983.

Developers create a distributed cache definition file, naming the http/smb/ADO server and an optional telemetry server, and defining cache roles and policies. For example, dev machines always read from cache while CI loops read and write. Cache entries expire after 30 days (enforced by cache-writers).

Developers reference the definition file through kit configuration (CLI users) or directly in Metro configuration (manual integration).

If a telemetry server is specified, all layers of Metro caching, including the default in-memory and temp-disk layers, should be wrapped to report their hit/miss rate.

Write a suite of unit tests.

kelset commented 1 year ago

(it's more a "lets figure out if the Metro team wants to build it or not" type of deal)