Merge pull request #21 from rtyler/diagram
Add a rough system diagram from my notebook
This commit is contained in:
commit
55824515ce
5
Makefile
5
Makefile
|
@ -12,7 +12,6 @@ SUB_DIRS=grammar
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## Phony targets
|
## Phony targets
|
||||||
|
|
||||||
# Cute hack thanks to:
|
# Cute hack thanks to:
|
||||||
# https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
|
# https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
|
||||||
help: ## Display this help text
|
help: ## Display this help text
|
||||||
|
@ -39,7 +38,9 @@ prereqs: scripts/prereqs.sh ## Check that this system has the necessary tools to
|
||||||
clean: ## Clean all temporary/working files
|
clean: ## Clean all temporary/working files
|
||||||
$(foreach dir, $(SUB_DIRS), $(MAKE) -C $(dir) $@)
|
$(foreach dir, $(SUB_DIRS), $(MAKE) -C $(dir) $@)
|
||||||
|
|
||||||
|
diagram: system.png system.dot ## Generate the diagrams describing otto
|
||||||
|
dot -Tpng -o system.png system.dot
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
|
||||||
.PHONY: all build check clean depends lint swagger
|
.PHONY: all build check clean depends lint swagger
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
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}
|
||||||
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
Loading…
Reference in New Issue