30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
digraph {
|
|
label="Otto system design";
|
|
|
|
node[shape="box", style="rounded"]
|
|
|
|
node[shape="box", style="square"]
|
|
orchestrator; frontend; datastore; objectstore; webhooks; agents;
|
|
node[shape="parallelogram", style=""]
|
|
eventbus;
|
|
|
|
webhooks -> eventbus[color="blue", label="write events"];
|
|
eventbus -> frontend[color="red", label="subscribe to live updates"];
|
|
|
|
orchestrator -> datastore[color="blue", label="create runs"];
|
|
orchestrator -> eventbus[color="purple", dir="both", label="read/write events"];
|
|
orchestrator -> agents[color="purple", dir="both", label="create and control agents"];
|
|
|
|
agents -> eventbus[color="blue", label="write events"];
|
|
agents -> datastore[color="blue", label="persist results"];
|
|
agents -> objectstore[color="blue", label="archive artifacts"];
|
|
|
|
datastore -> frontend[color="red", label="read runs"];
|
|
objectstore -> frontend[color="red", label="read artifacts"];
|
|
objectstore -> agents[color="red", label="fetch artifacts/stashes"];
|
|
|
|
//{rank=same; orchestrator agents eventbus}
|
|
//{rank=same; message input}
|
|
}
|
|
|