-
Notifications
You must be signed in to change notification settings - Fork 0
Image Registry - How to make our archives addressable and fetchable (Docker Registry vs Nixpkgs vs IPFS vs Dat) #17
Comments
The new docker registry code (delivered by Docker the company) is here: https://github.com/docker/distribution |
The consideration of the Matrix AI CIIDD system. Where it's tasked to "build" Automaton artifacts. We need to consider whether we write our own "builder" or we wrap existing builders. A builder is something that takes in imperative instructions and executes those instructions and outputs a "serialised" archive format. It is serialised, because it needs to be portable. (These build artifacts must be transported over the network to target hosts). The CIIDD system must also then transparently cache the building process (so that it can be done with minimal work) when you need to rebuild or whatever. Also content addressable. In terms of wrapping existing builders, this depends the archive format we support. Consider if we support Dockerfiles. This means our CIIDD system must be able to read/parse/interpret the Dockerfile and produce a runc/OCI container artifact. Should we do this by building our own "builder", or should we wrap |
Investigations into integration of IPFS and Image/Archive Registries |
For integration into the Nix system:
This will likely be useful for making the Artifact specification capable of taking Nix derivations/expressions. With regards to From Nix's perspective, Dockerfiles are just another Makefile. And currently Nix deals with this by using |
I have found some other people who is currently working with Docker and Nix integration. In fact their blog post sounds really interesting and I think their library may be useful for us to understand how to integrate container image layers into a Nix store.
I don't think they are dealing with OCI image yet. But docker v2 should be OCI compatible. Don't be afraid to investigate the source! @mokuki082 @n-zhang-hp I'm thinking what we'd do is integrate that to help pull in Docker/OCI artifacts from other Docker/OCI registries, then when we push into a nix-store. At this point either our nix-store implementation is already distributed/decentralised/based on IPFS, or that we maintain a distributed binary cache for all the Nodes instead. |
Usability, portability.
Running registries vs flat files: command line
nix-env -f URL
.The text was updated successfully, but these errors were encountered: