Skip to content

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.
  • 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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information