diff options
author | Florian Klink <flokli@flokli.de> | 2024-11-19T14·30+0200 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2024-11-23T09·40+0000 |
commit | 52a8e47ac1330fc65a976c2bb8156d4bc31aa265 (patch) | |
tree | 90debfae02ba4dbd49e0a49f83a6c51dd215abd8 /users/flokli/nixos/nixos-tvix-cache/README.md | |
parent | 071516377927907792531b10c4d09acce87454c4 (diff) |
feat(users/flokli/nixos/nixos-tvix-cache): init r/8949
This is a fetch-through mirror of cache.nixos.org, hosted by NumTide. The current machine is a SX65 Hetzner dedicated server with 4x22TB SATA disks, and 2x1TB NVMe disks. The goals of this machine: - Exercise tvix-store and nar-bridge code - Collect usage metrics (see https://nixos.tvix.store/grafana) - Identify bottlenecks - Replace cache.nixos.org? Be however aware that there's zero availability guarantees. Since Tvix doesn't support garbage collection yet, we either will delete data or order a bigger box. Change-Id: Id24baa18cae1629a06caaa059c0c75d4a01659d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12811 Tested-by: BuildkiteCI Reviewed-by: Jonas Chevalier <zimbatm@zimbatm.com> Reviewed-by: flokli <flokli@flokli.de>
Diffstat (limited to 'users/flokli/nixos/nixos-tvix-cache/README.md')
-rw-r--r-- | users/flokli/nixos/nixos-tvix-cache/README.md | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/users/flokli/nixos/nixos-tvix-cache/README.md b/users/flokli/nixos/nixos-tvix-cache/README.md new file mode 100644 index 000000000000..6a0e2f8ddbd8 --- /dev/null +++ b/users/flokli/nixos/nixos-tvix-cache/README.md @@ -0,0 +1,40 @@ +# nixos-tvix-cache + +This is a fetch-through mirror of cache.nixos.org, hosted by NumTide. + +The current machine is a SX65 Hetzner dedicated server with 4x22TB SATA disks, +and 2x1TB NVMe disks. + +The goals of this machine: + + - Exercise tvix-store and nar-bridge code + - Collect usage metrics (see [Grafana](https://nixos.tvix.store/grafana)) + - Identify bottlenecks in the current implementations and fix them + - Replace cache.nixos.org? + +You can configure this as a Nix substitutor on your systems like this: + +```nix + nix.settings.substituters = lib.mkForce [ + "https://nixos.tvix.store" + ]; +``` + +For store paths it hasn't already seen yet, it'll internally ingest its contents +into tvix-castore (deduplicating in doing so). + +Requests for NARs will dynamically reassemble the NAR representation on demand. + +Metadata and signatures are preserved (which is why you don't need to add +additional trusted keys). +We need to produce the same data bit by bit, else the signature check in your +Nix/Lix client would fail. + +Be however aware that there's zero availability guarantees. +We will frequently redeploy this box, and it might become unavailable without +prior notice. + +Tvix currently doesn't have garbage collection. If we run out of disk space, we +might either move things to a bigger box or delete everything on it so far. + +As it's only a cache, it should however re-ingest things again. |