Design collections
We need a design for collections. This needs to support the following activities from M2:
- MUST: Implement a way to mirror an external repository in debusine, building on a new concept of “collection”
- Come up with a sane and generic database models to represent a repository
- Possibly a hashed “collection” of artifacts with keys like “debian:source-package:coreutils_1.2.3-1” or “debian:binary-packages:coreutils_1.2.3-1_amd64” and values pointing to Artifact identifiers.
- Check how aptly does it
- Implement a FileStore that makes the content of an external repository available within debusine
- Mirror operation might be a workflow step.
- Come up with a sane and generic database models to represent a repository
- MUST: Have a mechanism that triggers tasks to update a “collection” so it is kept in sync with another collection (add missing keys, drop outdated keys)
- That mechanism might be a workflow step.
- Design of atomic updates ? Naming of collections ?
I've made a start on this in !427 (merged), but I'm also belatedly filing this issue so that we can add it to the M2 milestone.