KnotMirror#
Mirror of all known repos. Heavily inspired by indigo/relay and indigo/tap.
Knot Mirror syncs repo list using tap and subscribe to all known knots as KnotStream.
TODO#
- cleanup 'resyncing' state on shutdown (or on startup too)
- better tap reconnecting logic
- handle really large repos (maybe shallow-clone first?)
- handle repository knot changes (change git repo origin)
idea: run multiple different resync workers. 4 for long running tasks, 10 for short tasks. on timeout, schedule it for long running task