-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Is your feature request related to a problem? Please describe.
My situation is that I build a system that totals around 5-10GB (currently with debs, but transitioning to Nix) and then run an extensive simulation-based testing framework on that system. Regardless of what I do about build (eg, moving to Hydra), I'd like to be able to continue using Jenkins and Kubernetes workers for the testing aspect of it.
Some "conventional" options could be:
- Just install all the Nix outputs that my tests need on demand.
- Pre-cook an image with all my base stuff in it (potentially at the beginning of each day), and use that as the starting point for the on-demand test installation.
Both of these options potentially incur a lot of unnecessary transfer and archive manipulation and don't really leverage the power of Nix.
Describe the solution you'd like
This may be well out of scope for this project, but it would be super cool if it was able to act as a Kubernetes volume plugin and transparently fill requests for /nix/store paths from a cache that was shared between all containers on the host:
https://github.com/kubernetes/community/blob/master/sig-storage/volume-plugin-faq.md
This could be set up as an overlay so that writes would always be container-local, but reads would fall through to the volume.
Describe alternatives you've considered
See above.