| 16 Oct 2025 |
Mic92 | @Ericson2314:matrix.org: https://github.com/Mic92/niks3 since i am not aware of binary caches with gc that support the fully protocol including ca derivations, i created this. Currently working on the second production deployment. Also makes it really cheap to self-host high availability caches. You can get 1tb s3 buckets for 5 to 15 Dollar per month. | 14:46:26 |
John Ericson | Mic92: cool, but does it depend on harmonia / nixrs ? :) | 14:47:26 |
Mic92 | * @Ericson2314:matrix.org: https://github.com/Mic92/niks3 since i am not aware of binary caches with gc that support the full protocol including ca derivations, i created this. Currently working on the second production deployment. Also makes it really cheap to self-host high availability caches. You can get 1tb s3 buckets for 5 to 15 Dollar per month. | 14:47:35 |
Mic92 | No this is a completely different implementation ;) but I promise that the other thing comes next | 14:48:36 |
Mic92 | The actual difficulty was not the nix related protocols but getting the gc to work with some two phase commit | 14:50:13 |
John Ericson | Alright, I just wanna start sharing Rust code :) | 14:50:19 |
Mic92 | All those different object types i just wrote in a couple of days | 14:50:20 |
Mic92 | * The actual difficulty was not the nix related protocols but getting the gc to work with some two phase commit protocol | 14:50:34 |
Mic92 | We also should just move to zstd for ls files. It is much faster in my benchmarks compared to brotli. Nix already supports zstd on download for a long time. | 14:54:10 |
manveru | @Mic92 that looks really nice, we just had an incident where someone turned on object expiration on our bucket to save space... The fallout of narinfos pointing to nothing and Nix crashing because of it took weeks to clean up | 15:13:17 |
manveru | But does this prevent crashes because of locally cached narinfos that point to removed NARs? | 15:15:41 |