| 13 May 2024 |
danielle | In reply to @raitobezarius:matrix.org I think most of the features of a binary cache should be in a Nix implementation only if you want your storage and your logic to be the same thing tho | 19:15:37 |
raitobezarius | Ideally, I'd like to see a way to expose any store as a binary cache in frictionless way | 19:15:40 |
raitobezarius | In reply to @danielle:fairydust.space only if you want your storage and your logic to be the same thing tho Your logic can be added on the top IMHO | 19:16:10 |
raitobezarius | Like if you want authnz, auth, etc. There should be a way to compose existing tools? | 19:16:27 |
Qyriad | technically a binary cache can take multiple forms; at least one of them should be built in to Nix | 19:16:43 |
raitobezarius | (generally, I'd like to see the concept of cache combinators) | 19:16:44 |
samrose | If there is anything people can do to help that are not part of the core team, please let us know. | 19:19:50 |
raitobezarius | to expand on my thoughts, indeed, binary cache means so many things, I think what would be interesting is:
-
nix has interesting and strong store backends: filesystem, S3, etc.
-
each one of them can be exposed on a reasonable protocol (HTTP/3, etc. whatever) using nix itself
-
nix can handle certain operations by itself which are reasonable: signing store paths (via PKCS#11 or local signing stuff), etc.
-
deduplication should be fundamental & baked-in
-
multi-tenancy should ideally be just multiple nix stores (maybe they can share blocks or something whatever)
-
you can bring your own reverse proxy for auth, authnz based on your "usecase" logic
-
etc.
| 19:20:41 |
raitobezarius | obviously, you can run a S3 binary cache without nix being around | 19:21:04 |
raitobezarius | In reply to @samrose:matrix.org If there is anything people can do to help that are not part of the core team, please let us know. I recommend looking at https://git.lix.systems/lix-project/lix/issues?q=&type=all&state=open&labels=154&milestone=0&assignee=0&poster=0 | 19:21:28 |