From b054d6d90f163f94ad1cd7162302975afca83829 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 24 Mar 2025 01:36:47 +0000 Subject: [PATCH] docs(architecture): drop Figures and dangling footnote Change-Id: Ibe4992b54fc42b8965bef4727d00373f1114c90f Reviewed-on: https://cl.snix.dev/c/snix/+/30267 Autosubmit: Florian Klink Tested-by: besadii Reviewed-by: Ryan Lahfa --- snix/docs/src/architecture.md | 10 ---- snix/docs/src/figures/component-flow.puml | 60 ----------------------- 2 files changed, 70 deletions(-) delete mode 100644 snix/docs/src/figures/component-flow.puml diff --git a/snix/docs/src/architecture.md b/snix/docs/src/architecture.md index 5f7da9809..b63aa9167 100644 --- a/snix/docs/src/architecture.md +++ b/snix/docs/src/architecture.md @@ -90,13 +90,3 @@ It'd also be possible to write a FUSE implementation on top of the RPC interface, exposing a lazily-substituting /nix/store mountpoint. Using this in remote build context dramatically reduces the amount of data transferred to a builder, as only the files really accessed during the build are substituted. - -## Figures - -```plantuml,format=svg -{{#include figures/component-flow.puml}} -``` - -[^1]: There have already been some discussions in the Nix community, to switch - to REAPI: - https://discourse.nixos.org/t/a-proposal-for-replacing-the-nix-worker-protocol/20926/22 diff --git a/snix/docs/src/figures/component-flow.puml b/snix/docs/src/figures/component-flow.puml deleted file mode 100644 index 5b6d79b82..000000000 --- a/snix/docs/src/figures/component-flow.puml +++ /dev/null @@ -1,60 +0,0 @@ -@startuml - -title Tvix build flow - -actor User -participant CLI -participant "Coordinator" as Coord -participant "Evaluator" as Eval -database Store -participant "Builder" as Build - -note over CLI,Eval - Typically runs locally on the invoking machine -end note -/ note over Store, Build - Can be either local or remote -end note - -User-->CLI: User initiates build of `hello` (analogous to `nix-build -f '' -A hello`) - -CLI-->Coord: CLI invokes coordinator - -Coord-->Eval: Sends message to start evaluation of `` (path lookup) with attribute `hello` -note right: The paths to the evaluator are local file system paths - -Coord<--Eval: Yields derivations to be built -note right - Immediately starts streaming derivations as they are instantiated across - the dependency graph so they can be built while the evaluation is still running. - - There are two types of build requests: One for regular "fire and forget" builds, - and another for IFD (import from derivation). - - These are distinct because IFD needs to be fed back into the evaluator for - further processing while a regular build does not. -end note - -loop while has more derivations - - Coord-->Store: Check if desired paths are in store - alt Store has path - Coord<--Store: Success response - else Store does not have path - Coord-->Build: Request derivation to be built - - alt Build failure - Coord<--Build: Fail response - note left: It's up to the coordinator whether to exit on build failure - else Build success - Build-->Store: Push outputs to store - Build<--Coord: Send success & pushed response - end - - end -end - -CLI<--Coord: Respond success/fail -User<--CLI: Exit success/fail - -@enduml