feat(tvix/docs): switch to mdbook
Some of the docs are still outdated (like architecture and drv path inconsistencies). Change-Id: I7a6afceb008ef4cd19a764dd6c637b39fa842a2e Reviewed-on: https://cl.tvl.fyi/c/depot/+/11072 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
This commit is contained in:
parent
6bdaebcb55
commit
65a810fc0b
14 changed files with 45 additions and 116 deletions
60
tvix/docs/src/figures/component-flow.puml
Normal file
60
tvix/docs/src/figures/component-flow.puml
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
@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 '<nixpkgs>' -A hello`)
|
||||
|
||||
CLI-->Coord: CLI invokes coordinator
|
||||
|
||||
Coord-->Eval: Sends message to start evaluation of `<nixpkgs>` (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
|
||||
Loading…
Add table
Add a link
Reference in a new issue