flora-server
flora-server copied to clipboard
Disaster Recovery process
Once we have #452 in we'll be storing both processed tarballs, and the original ones.
We should allow the original ones to be stored in a separate blob store so that they can be put in cold storage (we can reuse the blob store effect but use effectful's labelled effects to distinguish the two), and add a way of recovering from what's put in cold storage. Some thought might be warranted for some of the other metadata fields for releases, with #454 more fields will become easily recoverable but others would still be lost, without putting more data in cold storage.
Process as envisioned by @tchoutri is as follows:
- A tarball gets uploaded
- The original gets stored on disk, then sent to a cold storage.
- The processed version gets stored within Flora
- The processed version gets cached by varnish/nginx/squid/whatever
- a) We need to refine / fix a bug in the processing of the tarballs, which is good because we have the originals at hand, so we can re-import them. b) We need to recover from an incident: A backup of the tarballs can be re-imported from the cold storage.