mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-02-13 21:00:00 +00:00
Update Module Interaction Diagram (#6019)
Co-authored-by: qwerty287 <80460567+qwerty287@users.noreply.github.com>
This commit is contained in:
@@ -1,8 +1,16 @@
|
||||
# Architecture
|
||||
|
||||
## Package architecture
|
||||
## Module Interactions
|
||||
|
||||

|
||||

|
||||
|
||||
<!--
|
||||
To update the graph, first look at a simple svg of all module imports:
|
||||
`go run github.com/loov/goda@latest graph 'go.woodpecker-ci.org/woodpecker/v3/...' | dot -Tsvg -o graph.svg`
|
||||
|
||||
generate a new svg of the graph using:
|
||||
`dot -Tsvg woodpecker-architecture.dot -o woodpecker-architecture.svg`
|
||||
-->
|
||||
|
||||
## System architecture
|
||||
|
||||
|
||||
157
docs/docs/92-development/woodpecker-architecture.dot
Normal file
157
docs/docs/92-development/woodpecker-architecture.dot
Normal file
@@ -0,0 +1,157 @@
|
||||
digraph WoodpeckerArchitecture {
|
||||
graph [
|
||||
rankdir=TB,
|
||||
splines=ortho,
|
||||
nodesep=0.5,
|
||||
ranksep=0.8,
|
||||
fontname="Helvetica"
|
||||
]
|
||||
|
||||
node [
|
||||
shape=box,
|
||||
style="rounded,filled",
|
||||
fillcolor="#2b2b2b",
|
||||
fontcolor="white",
|
||||
fontname="Helvetica"
|
||||
]
|
||||
|
||||
edge [
|
||||
color="#bdbdbd",
|
||||
arrowsize=0.7
|
||||
]
|
||||
|
||||
/* ===================== UI ===================== */
|
||||
subgraph cluster_ui {
|
||||
label="UI"
|
||||
fillcolor="#c7efe9"
|
||||
fontcolor="black"
|
||||
style="rounded,filled"
|
||||
|
||||
ui_web [label="web/"]
|
||||
}
|
||||
|
||||
/* ===================== SDK ===================== */
|
||||
subgraph cluster_sdk {
|
||||
label="SDK (woodpecker-go)"
|
||||
fillcolor="#e8f5e9"
|
||||
fontcolor="black"
|
||||
style="rounded,filled"
|
||||
|
||||
sdk [label="woodpecker-go"]
|
||||
}
|
||||
|
||||
/* ===================== CLI ===================== */
|
||||
subgraph cluster_cli {
|
||||
label="woodpecker-cli"
|
||||
fillcolor="#bfe9e0"
|
||||
fontcolor="black"
|
||||
style="rounded,filled"
|
||||
|
||||
cli_cmd [label="cmd/cli/"]
|
||||
cli_core [label="cli/"]
|
||||
}
|
||||
|
||||
/* ===================== Agent ===================== */
|
||||
subgraph cluster_agent {
|
||||
label="woodpecker-agent"
|
||||
fillcolor="#ffe0c7"
|
||||
fontcolor="black"
|
||||
style="rounded,filled"
|
||||
|
||||
agent_cmd [label="cmd/agent/"]
|
||||
agent_core [label="agent/"]
|
||||
}
|
||||
|
||||
/* ===================== Pipelines ===================== */
|
||||
subgraph cluster_pipelines {
|
||||
label="Pipelines"
|
||||
fillcolor="#ffe8d6"
|
||||
fontcolor="black"
|
||||
style="rounded,filled"
|
||||
|
||||
pipe_core [label="pipeline/"]
|
||||
pipe_frontend [label="pipeline/frontend/\n(yaml)"]
|
||||
pipe_backend [label="pipeline/backend/\n(exec engines)"]
|
||||
}
|
||||
|
||||
/* ===================== Server ===================== */
|
||||
subgraph cluster_server {
|
||||
label="woodpecker-server"
|
||||
fillcolor="#dbe9ff"
|
||||
fontcolor="black"
|
||||
style="rounded,filled"
|
||||
|
||||
srv_cmd [label="cmd/server/"]
|
||||
srv_router [label="server/router/"]
|
||||
srv_api [label="server/api/"]
|
||||
srv_grpc [label="server/rpc/"]
|
||||
srv_queue [label="server/queue/"]
|
||||
srv_pubsub [label="server/pubsub/"]
|
||||
srv_store [label="server/store/"]
|
||||
srv_model [label="server/model/"]
|
||||
srv_forge [label="server/forge/"]
|
||||
}
|
||||
|
||||
/* ===================== Shared Libs ===================== */
|
||||
subgraph cluster_shared {
|
||||
label="Shared Libs"
|
||||
fillcolor="#eeeeee"
|
||||
fontcolor="black"
|
||||
style="rounded,filled"
|
||||
|
||||
shared_util [label="shared/util/"]
|
||||
shared_token [label="shared/token/"]
|
||||
shared_http [label="shared/httputil/"]
|
||||
shared_log [label="shared/logger/"]
|
||||
}
|
||||
|
||||
/* ===================== External ===================== */
|
||||
subgraph cluster_external {
|
||||
label="External Systems"
|
||||
style="rounded,dashed"
|
||||
fontcolor="white"
|
||||
|
||||
ext_scm [label="SCM Providers", shape=cloud]
|
||||
ext_db [label="Database", shape=cylinder]
|
||||
}
|
||||
|
||||
/* ===================== Runtime Interactions ===================== */
|
||||
|
||||
/* UI */
|
||||
ui_web -> srv_router [xlabel="HTTP"]
|
||||
ui_web -> srv_api [xlabel="REST API"]
|
||||
|
||||
/* CLI */
|
||||
cli_cmd -> cli_core
|
||||
cli_core -> sdk
|
||||
sdk -> srv_api [xlabel="REST API"]
|
||||
|
||||
/* Agent */
|
||||
agent_cmd -> agent_core
|
||||
agent_core -> srv_grpc [xlabel="gRPC connect"]
|
||||
agent_core -> srv_queue [xlabel="poll work"]
|
||||
agent_core -> pipe_backend [xlabel="execute steps"]
|
||||
|
||||
/* Pipelines */
|
||||
pipe_frontend -> pipe_core
|
||||
pipe_core -> pipe_backend
|
||||
|
||||
/* Server internal flow */
|
||||
srv_cmd -> srv_router
|
||||
srv_router -> srv_api
|
||||
srv_api -> srv_store
|
||||
srv_api -> srv_pubsub
|
||||
srv_api -> srv_queue
|
||||
srv_grpc -> srv_queue
|
||||
srv_store -> srv_model
|
||||
|
||||
/* External integrations */
|
||||
srv_forge -> ext_scm [xlabel="SCM API"]
|
||||
srv_store -> ext_db [xlabel="SQL"]
|
||||
|
||||
/* Shared libs usage (consumer -> library) */
|
||||
srv_router -> shared_token
|
||||
srv_api -> shared_http
|
||||
srv_grpc -> shared_log
|
||||
pipe_core -> shared_util
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 61 KiB |
352
docs/docs/92-development/woodpecker-architecture.svg
Normal file
352
docs/docs/92-development/woodpecker-architecture.svg
Normal file
@@ -0,0 +1,352 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 12.2.1 (0)
|
||||
-->
|
||||
<!-- Title: WoodpeckerArchitecture Pages: 1 -->
|
||||
<svg width="1112pt" height="577pt"
|
||||
viewBox="0.00 0.00 1112.00 576.75" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 572.75)">
|
||||
<title>WoodpeckerArchitecture</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-572.75 1108,-572.75 1108,4 -4,4"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_ui</title>
|
||||
<path fill="#c7efe9" stroke="black" d="M411,-389.25C411,-389.25 457,-389.25 457,-389.25 463,-389.25 469,-395.25 469,-401.25 469,-401.25 469,-453 469,-453 469,-459 463,-465 457,-465 457,-465 411,-465 411,-465 405,-465 399,-459 399,-453 399,-453 399,-401.25 399,-401.25 399,-395.25 405,-389.25 411,-389.25"/>
|
||||
<text text-anchor="middle" x="434" y="-447.7" font-family="Helvetica,sans-Serif" font-size="14.00">UI</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_sdk</title>
|
||||
<path fill="#e8f5e9" stroke="black" d="M411,-293.5C411,-293.5 535,-293.5 535,-293.5 541,-293.5 547,-299.5 547,-305.5 547,-305.5 547,-357.25 547,-357.25 547,-363.25 541,-369.25 535,-369.25 535,-369.25 411,-369.25 411,-369.25 405,-369.25 399,-363.25 399,-357.25 399,-357.25 399,-305.5 399,-305.5 399,-299.5 405,-293.5 411,-293.5"/>
|
||||
<text text-anchor="middle" x="473" y="-351.95" font-family="Helvetica,sans-Serif" font-size="14.00">SDK (woodpecker-go)</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_cli</title>
|
||||
<path fill="#bfe9e0" stroke="black" d="M493,-389.25C493,-389.25 575,-389.25 575,-389.25 581,-389.25 587,-395.25 587,-401.25 587,-401.25 587,-548.75 587,-548.75 587,-554.75 581,-560.75 575,-560.75 575,-560.75 493,-560.75 493,-560.75 487,-560.75 481,-554.75 481,-548.75 481,-548.75 481,-401.25 481,-401.25 481,-395.25 487,-389.25 493,-389.25"/>
|
||||
<text text-anchor="middle" x="534" y="-543.45" font-family="Helvetica,sans-Serif" font-size="14.00">woodpecker-cli</text>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_agent</title>
|
||||
<path fill="#ffe0c7" stroke="black" d="M636,-293.5C636,-293.5 739,-293.5 739,-293.5 745,-293.5 751,-299.5 751,-305.5 751,-305.5 751,-453 751,-453 751,-459 745,-465 739,-465 739,-465 636,-465 636,-465 630,-465 624,-459 624,-453 624,-453 624,-305.5 624,-305.5 624,-299.5 630,-293.5 636,-293.5"/>
|
||||
<text text-anchor="middle" x="687.5" y="-447.7" font-family="Helvetica,sans-Serif" font-size="14.00">woodpecker-agent</text>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_pipelines</title>
|
||||
<path fill="#ffe8d6" stroke="black" d="M816,-196C816,-196 930,-196 930,-196 936,-196 942,-202 942,-208 942,-208 942,-454.75 942,-454.75 942,-460.75 936,-466.75 930,-466.75 930,-466.75 816,-466.75 816,-466.75 810,-466.75 804,-460.75 804,-454.75 804,-454.75 804,-208 804,-208 804,-202 810,-196 816,-196"/>
|
||||
<text text-anchor="middle" x="873" y="-449.45" font-family="Helvetica,sans-Serif" font-size="14.00">Pipelines</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_server</title>
|
||||
<path fill="#dbe9ff" stroke="black" d="M20,-8C20,-8 379,-8 379,-8 385,-8 391,-14 391,-20 391,-20 391,-453 391,-453 391,-459 385,-465 379,-465 379,-465 20,-465 20,-465 14,-465 8,-459 8,-453 8,-453 8,-20 8,-20 8,-14 14,-8 20,-8"/>
|
||||
<text text-anchor="middle" x="199.5" y="-447.7" font-family="Helvetica,sans-Serif" font-size="14.00">woodpecker-server</text>
|
||||
</g>
|
||||
<g id="clust7" class="cluster">
|
||||
<title>cluster_shared</title>
|
||||
<path fill="#eeeeee" stroke="black" d="M598,-102C598,-102 1084,-102 1084,-102 1090,-102 1096,-108 1096,-114 1096,-114 1096,-165.75 1096,-165.75 1096,-171.75 1090,-177.75 1084,-177.75 1084,-177.75 598,-177.75 598,-177.75 592,-177.75 586,-171.75 586,-165.75 586,-165.75 586,-114 586,-114 586,-108 592,-102 598,-102"/>
|
||||
<text text-anchor="middle" x="841" y="-160.45" font-family="Helvetica,sans-Serif" font-size="14.00">Shared Libs</text>
|
||||
</g>
|
||||
<g id="clust8" class="cluster">
|
||||
<title>cluster_external</title>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M411,-8C411,-8 621,-8 621,-8 627,-8 633,-14 633,-20 633,-20 633,-71.75 633,-71.75 633,-77.75 627,-83.75 621,-83.75 621,-83.75 411,-83.75 411,-83.75 405,-83.75 399,-77.75 399,-71.75 399,-71.75 399,-20 399,-20 399,-14 405,-8 411,-8"/>
|
||||
<text text-anchor="middle" x="516" y="-66.45" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">External Systems</text>
|
||||
</g>
|
||||
<!-- ui_web -->
|
||||
<g id="node1" class="node">
|
||||
<title>ui_web</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M449,-433.25C449,-433.25 419,-433.25 419,-433.25 413,-433.25 407,-427.25 407,-421.25 407,-421.25 407,-409.25 407,-409.25 407,-403.25 413,-397.25 419,-397.25 419,-397.25 449,-397.25 449,-397.25 455,-397.25 461,-403.25 461,-409.25 461,-409.25 461,-421.25 461,-421.25 461,-427.25 455,-433.25 449,-433.25"/>
|
||||
<text text-anchor="middle" x="434" y="-409.82" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">web/</text>
|
||||
</g>
|
||||
<!-- srv_router -->
|
||||
<g id="node11" class="node">
|
||||
<title>srv_router</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M269.12,-337.5C269.12,-337.5 196.88,-337.5 196.88,-337.5 190.88,-337.5 184.88,-331.5 184.88,-325.5 184.88,-325.5 184.88,-313.5 184.88,-313.5 184.88,-307.5 190.88,-301.5 196.88,-301.5 196.88,-301.5 269.12,-301.5 269.12,-301.5 275.12,-301.5 281.12,-307.5 281.12,-313.5 281.12,-313.5 281.12,-325.5 281.12,-325.5 281.12,-331.5 275.12,-337.5 269.12,-337.5"/>
|
||||
<text text-anchor="middle" x="233" y="-314.07" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/router/</text>
|
||||
</g>
|
||||
<!-- ui_web->srv_router -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>ui_web->srv_router</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M406.58,-415C400.15,-415 395.12,-415 395.12,-415 395.12,-415 395.12,-326 395.12,-326 395.12,-326 289.72,-326 289.72,-326"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="289.72,-323.55 282.72,-326 289.72,-328.45 289.72,-323.55"/>
|
||||
<text text-anchor="middle" x="375.77" y="-329.2" font-family="Times,serif" font-size="14.00">HTTP</text>
|
||||
</g>
|
||||
<!-- srv_api -->
|
||||
<g id="node12" class="node">
|
||||
<title>srv_api</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M255.5,-241.75C255.5,-241.75 200.5,-241.75 200.5,-241.75 194.5,-241.75 188.5,-235.75 188.5,-229.75 188.5,-229.75 188.5,-217.75 188.5,-217.75 188.5,-211.75 194.5,-205.75 200.5,-205.75 200.5,-205.75 255.5,-205.75 255.5,-205.75 261.5,-205.75 267.5,-211.75 267.5,-217.75 267.5,-217.75 267.5,-229.75 267.5,-229.75 267.5,-235.75 261.5,-241.75 255.5,-241.75"/>
|
||||
<text text-anchor="middle" x="228" y="-218.32" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/api/</text>
|
||||
</g>
|
||||
<!-- ui_web->srv_api -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>ui_web->srv_api</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M434.94,-396.82C434.94,-379.75 434.94,-357 434.94,-357 434.94,-357 290.88,-357 290.88,-357 290.88,-357 290.88,-230 290.88,-230 290.88,-230 276.33,-230 276.33,-230"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="276.33,-227.55 269.33,-230 276.33,-232.45 276.33,-227.55"/>
|
||||
<text text-anchor="middle" x="283.17" y="-360.2" font-family="Times,serif" font-size="14.00">REST API</text>
|
||||
</g>
|
||||
<!-- sdk -->
|
||||
<g id="node2" class="node">
|
||||
<title>sdk</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M505.12,-337.5C505.12,-337.5 420.88,-337.5 420.88,-337.5 414.88,-337.5 408.88,-331.5 408.88,-325.5 408.88,-325.5 408.88,-313.5 408.88,-313.5 408.88,-307.5 414.88,-301.5 420.88,-301.5 420.88,-301.5 505.12,-301.5 505.12,-301.5 511.12,-301.5 517.12,-307.5 517.12,-313.5 517.12,-313.5 517.12,-325.5 517.12,-325.5 517.12,-331.5 511.12,-337.5 505.12,-337.5"/>
|
||||
<text text-anchor="middle" x="463" y="-314.07" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">woodpecker-go</text>
|
||||
</g>
|
||||
<!-- sdk->srv_api -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>sdk->srv_api</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M408.65,-314C360.23,-314 297,-314 297,-314 297,-314 297,-218 297,-218 297,-218 276.25,-218 276.25,-218"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="276.25,-215.55 269.25,-218 276.25,-220.45 276.25,-215.55"/>
|
||||
<text text-anchor="middle" x="325.88" y="-314.65" font-family="Times,serif" font-size="14.00">REST API</text>
|
||||
</g>
|
||||
<!-- cli_cmd -->
|
||||
<g id="node3" class="node">
|
||||
<title>cli_cmd</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M543.25,-529C543.25,-529 504.75,-529 504.75,-529 498.75,-529 492.75,-523 492.75,-517 492.75,-517 492.75,-505 492.75,-505 492.75,-499 498.75,-493 504.75,-493 504.75,-493 543.25,-493 543.25,-493 549.25,-493 555.25,-499 555.25,-505 555.25,-505 555.25,-517 555.25,-517 555.25,-523 549.25,-529 543.25,-529"/>
|
||||
<text text-anchor="middle" x="524" y="-505.57" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">cmd/cli/</text>
|
||||
</g>
|
||||
<!-- cli_core -->
|
||||
<g id="node4" class="node">
|
||||
<title>cli_core</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M539,-433.25C539,-433.25 509,-433.25 509,-433.25 503,-433.25 497,-427.25 497,-421.25 497,-421.25 497,-409.25 497,-409.25 497,-403.25 503,-397.25 509,-397.25 509,-397.25 539,-397.25 539,-397.25 545,-397.25 551,-403.25 551,-409.25 551,-409.25 551,-421.25 551,-421.25 551,-427.25 545,-433.25 539,-433.25"/>
|
||||
<text text-anchor="middle" x="524" y="-409.82" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">cli/</text>
|
||||
</g>
|
||||
<!-- cli_cmd->cli_core -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>cli_cmd->cli_core</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M524,-492.54C524,-492.54 524,-442.17 524,-442.17"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="526.45,-442.17 524,-435.17 521.55,-442.17 526.45,-442.17"/>
|
||||
</g>
|
||||
<!-- cli_core->sdk -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>cli_core->sdk</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M507.06,-396.79C507.06,-396.79 507.06,-346.42 507.06,-346.42"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="509.51,-346.42 507.06,-339.42 504.61,-346.42 509.51,-346.42"/>
|
||||
</g>
|
||||
<!-- agent_cmd -->
|
||||
<g id="node5" class="node">
|
||||
<title>agent_cmd</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M716.75,-433.25C716.75,-433.25 657.25,-433.25 657.25,-433.25 651.25,-433.25 645.25,-427.25 645.25,-421.25 645.25,-421.25 645.25,-409.25 645.25,-409.25 645.25,-403.25 651.25,-397.25 657.25,-397.25 657.25,-397.25 716.75,-397.25 716.75,-397.25 722.75,-397.25 728.75,-403.25 728.75,-409.25 728.75,-409.25 728.75,-421.25 728.75,-421.25 728.75,-427.25 722.75,-433.25 716.75,-433.25"/>
|
||||
<text text-anchor="middle" x="687" y="-409.82" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">cmd/agent/</text>
|
||||
</g>
|
||||
<!-- agent_core -->
|
||||
<g id="node6" class="node">
|
||||
<title>agent_core</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M702,-337.5C702,-337.5 672,-337.5 672,-337.5 666,-337.5 660,-331.5 660,-325.5 660,-325.5 660,-313.5 660,-313.5 660,-307.5 666,-301.5 672,-301.5 672,-301.5 702,-301.5 702,-301.5 708,-301.5 714,-307.5 714,-313.5 714,-313.5 714,-325.5 714,-325.5 714,-331.5 708,-337.5 702,-337.5"/>
|
||||
<text text-anchor="middle" x="687" y="-314.07" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">agent/</text>
|
||||
</g>
|
||||
<!-- agent_cmd->agent_core -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>agent_cmd->agent_core</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M687,-396.79C687,-396.79 687,-346.42 687,-346.42"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="689.45,-346.42 687,-339.42 684.55,-346.42 689.45,-346.42"/>
|
||||
</g>
|
||||
<!-- pipe_backend -->
|
||||
<g id="node9" class="node">
|
||||
<title>pipe_backend</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M921.5,-243.5C921.5,-243.5 824.5,-243.5 824.5,-243.5 818.5,-243.5 812.5,-237.5 812.5,-231.5 812.5,-231.5 812.5,-216 812.5,-216 812.5,-210 818.5,-204 824.5,-204 824.5,-204 921.5,-204 921.5,-204 927.5,-204 933.5,-210 933.5,-216 933.5,-216 933.5,-231.5 933.5,-231.5 933.5,-237.5 927.5,-243.5 921.5,-243.5"/>
|
||||
<text text-anchor="middle" x="873" y="-226.2" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">pipeline/backend/</text>
|
||||
<text text-anchor="middle" x="873" y="-210.45" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">(exec engines)</text>
|
||||
</g>
|
||||
<!-- agent_core->pipe_backend -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>agent_core->pipe_backend</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M706.12,-301.09C706.12,-273.34 706.12,-224 706.12,-224 706.12,-224 803.77,-224 803.77,-224"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="803.77,-226.45 810.77,-224 803.77,-221.55 803.77,-226.45"/>
|
||||
<text text-anchor="middle" x="680.4" y="-227.2" font-family="Times,serif" font-size="14.00">execute steps</text>
|
||||
</g>
|
||||
<!-- srv_grpc -->
|
||||
<g id="node13" class="node">
|
||||
<title>srv_grpc</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M370.88,-241.75C370.88,-241.75 315.12,-241.75 315.12,-241.75 309.12,-241.75 303.12,-235.75 303.12,-229.75 303.12,-229.75 303.12,-217.75 303.12,-217.75 303.12,-211.75 309.12,-205.75 315.12,-205.75 315.12,-205.75 370.88,-205.75 370.88,-205.75 376.88,-205.75 382.88,-211.75 382.88,-217.75 382.88,-217.75 382.88,-229.75 382.88,-229.75 382.88,-235.75 376.88,-241.75 370.88,-241.75"/>
|
||||
<text text-anchor="middle" x="343" y="-218.32" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/rpc/</text>
|
||||
</g>
|
||||
<!-- agent_core->srv_grpc -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>agent_core->srv_grpc</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M679.12,-301.16C679.12,-275.76 679.12,-233 679.12,-233 679.12,-233 391.72,-233 391.72,-233"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="391.72,-230.55 384.72,-233 391.72,-235.45 391.72,-230.55"/>
|
||||
<text text-anchor="middle" x="530.5" y="-236.2" font-family="Times,serif" font-size="14.00">gRPC connect</text>
|
||||
</g>
|
||||
<!-- srv_queue -->
|
||||
<g id="node14" class="node">
|
||||
<title>srv_queue</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M371.25,-146C371.25,-146 296.75,-146 296.75,-146 290.75,-146 284.75,-140 284.75,-134 284.75,-134 284.75,-122 284.75,-122 284.75,-116 290.75,-110 296.75,-110 296.75,-110 371.25,-110 371.25,-110 377.25,-110 383.25,-116 383.25,-122 383.25,-122 383.25,-134 383.25,-134 383.25,-140 377.25,-146 371.25,-146"/>
|
||||
<text text-anchor="middle" x="334" y="-122.58" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/queue/</text>
|
||||
</g>
|
||||
<!-- agent_core->srv_queue -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>agent_core->srv_queue</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M659.65,-320C617.06,-320 539.75,-320 539.75,-320 539.75,-320 539.75,-128 539.75,-128 539.75,-128 392.06,-128 392.06,-128"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="392.06,-125.55 385.06,-128 392.06,-130.45 392.06,-125.55"/>
|
||||
<text text-anchor="middle" x="513.5" y="-213.3" font-family="Times,serif" font-size="14.00">poll work</text>
|
||||
</g>
|
||||
<!-- pipe_core -->
|
||||
<g id="node7" class="node">
|
||||
<title>pipe_core</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M894.12,-337.5C894.12,-337.5 851.88,-337.5 851.88,-337.5 845.88,-337.5 839.88,-331.5 839.88,-325.5 839.88,-325.5 839.88,-313.5 839.88,-313.5 839.88,-307.5 845.88,-301.5 851.88,-301.5 851.88,-301.5 894.12,-301.5 894.12,-301.5 900.12,-301.5 906.12,-307.5 906.12,-313.5 906.12,-313.5 906.12,-325.5 906.12,-325.5 906.12,-331.5 900.12,-337.5 894.12,-337.5"/>
|
||||
<text text-anchor="middle" x="873" y="-314.07" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">pipeline/</text>
|
||||
</g>
|
||||
<!-- pipe_core->pipe_backend -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>pipe_core->pipe_backend</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M873,-301.04C873,-301.04 873,-252.32 873,-252.32"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="875.45,-252.32 873,-245.32 870.55,-252.32 875.45,-252.32"/>
|
||||
</g>
|
||||
<!-- shared_util -->
|
||||
<g id="node19" class="node">
|
||||
<title>shared_util</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M1076,-146C1076,-146 1018,-146 1018,-146 1012,-146 1006,-140 1006,-134 1006,-134 1006,-122 1006,-122 1006,-116 1012,-110 1018,-110 1018,-110 1076,-110 1076,-110 1082,-110 1088,-116 1088,-122 1088,-122 1088,-134 1088,-134 1088,-140 1082,-146 1076,-146"/>
|
||||
<text text-anchor="middle" x="1047" y="-122.58" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">shared/util/</text>
|
||||
</g>
|
||||
<!-- pipe_core->shared_util -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>pipe_core->shared_util</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M906.55,-320C957.11,-320 1047,-320 1047,-320 1047,-320 1047,-154.92 1047,-154.92"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="1049.45,-154.92 1047,-147.92 1044.55,-154.92 1049.45,-154.92"/>
|
||||
</g>
|
||||
<!-- pipe_frontend -->
|
||||
<g id="node8" class="node">
|
||||
<title>pipe_frontend</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M920.75,-435C920.75,-435 825.25,-435 825.25,-435 819.25,-435 813.25,-429 813.25,-423 813.25,-423 813.25,-407.5 813.25,-407.5 813.25,-401.5 819.25,-395.5 825.25,-395.5 825.25,-395.5 920.75,-395.5 920.75,-395.5 926.75,-395.5 932.75,-401.5 932.75,-407.5 932.75,-407.5 932.75,-423 932.75,-423 932.75,-429 926.75,-435 920.75,-435"/>
|
||||
<text text-anchor="middle" x="873" y="-417.7" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">pipeline/frontend/</text>
|
||||
<text text-anchor="middle" x="873" y="-401.95" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">(yaml)</text>
|
||||
</g>
|
||||
<!-- pipe_frontend->pipe_core -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>pipe_frontend->pipe_core</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M873,-395.41C873,-395.41 873,-346.21 873,-346.21"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="875.45,-346.21 873,-339.21 870.55,-346.21 875.45,-346.21"/>
|
||||
</g>
|
||||
<!-- srv_cmd -->
|
||||
<g id="node10" class="node">
|
||||
<title>srv_cmd</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M230.62,-433.25C230.62,-433.25 167.38,-433.25 167.38,-433.25 161.38,-433.25 155.38,-427.25 155.38,-421.25 155.38,-421.25 155.38,-409.25 155.38,-409.25 155.38,-403.25 161.38,-397.25 167.38,-397.25 167.38,-397.25 230.62,-397.25 230.62,-397.25 236.62,-397.25 242.62,-403.25 242.62,-409.25 242.62,-409.25 242.62,-421.25 242.62,-421.25 242.62,-427.25 236.62,-433.25 230.62,-433.25"/>
|
||||
<text text-anchor="middle" x="199" y="-409.82" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">cmd/server/</text>
|
||||
</g>
|
||||
<!-- srv_cmd->srv_router -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>srv_cmd->srv_router</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M213.75,-396.79C213.75,-396.79 213.75,-346.42 213.75,-346.42"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="216.2,-346.42 213.75,-339.42 211.3,-346.42 216.2,-346.42"/>
|
||||
</g>
|
||||
<!-- srv_router->srv_api -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>srv_router->srv_api</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M228,-301.04C228,-301.04 228,-250.67 228,-250.67"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="230.45,-250.67 228,-243.67 225.55,-250.67 230.45,-250.67"/>
|
||||
</g>
|
||||
<!-- shared_token -->
|
||||
<g id="node20" class="node">
|
||||
<title>shared_token</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M957.88,-146C957.88,-146 884.12,-146 884.12,-146 878.12,-146 872.12,-140 872.12,-134 872.12,-134 872.12,-122 872.12,-122 872.12,-116 878.12,-110 884.12,-110 884.12,-110 957.88,-110 957.88,-110 963.88,-110 969.88,-116 969.88,-122 969.88,-122 969.88,-134 969.88,-134 969.88,-140 963.88,-146 957.88,-146"/>
|
||||
<text text-anchor="middle" x="921" y="-122.58" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">shared/token/</text>
|
||||
</g>
|
||||
<!-- srv_router->shared_token -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>srv_router->shared_token</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M274.31,-301.08C274.31,-264.24 274.31,-185 274.31,-185 274.31,-185 902.81,-185 902.81,-185 902.81,-185 902.81,-154.86 902.81,-154.86"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="905.26,-154.86 902.81,-147.86 900.36,-154.86 905.26,-154.86"/>
|
||||
</g>
|
||||
<!-- srv_api->srv_queue -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>srv_api->srv_queue</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M259.88,-205.59C259.88,-179.36 259.88,-134 259.88,-134 259.88,-134 276.04,-134 276.04,-134"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="276.04,-136.45 283.04,-134 276.04,-131.55 276.04,-136.45"/>
|
||||
</g>
|
||||
<!-- srv_pubsub -->
|
||||
<g id="node15" class="node">
|
||||
<title>srv_pubsub</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M109.62,-146C109.62,-146 28.38,-146 28.38,-146 22.38,-146 16.38,-140 16.38,-134 16.38,-134 16.38,-122 16.38,-122 16.38,-116 22.38,-110 28.38,-110 28.38,-110 109.62,-110 109.62,-110 115.62,-110 121.62,-116 121.62,-122 121.62,-122 121.62,-134 121.62,-134 121.62,-140 115.62,-146 109.62,-146"/>
|
||||
<text text-anchor="middle" x="69" y="-122.58" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/pubsub/</text>
|
||||
</g>
|
||||
<!-- srv_api->srv_pubsub -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>srv_api->srv_pubsub</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M188.29,-224C141.19,-224 69,-224 69,-224 69,-224 69,-154.57 69,-154.57"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="71.45,-154.57 69,-147.57 66.55,-154.57 71.45,-154.57"/>
|
||||
</g>
|
||||
<!-- srv_store -->
|
||||
<g id="node16" class="node">
|
||||
<title>srv_store</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M236.5,-146C236.5,-146 169.5,-146 169.5,-146 163.5,-146 157.5,-140 157.5,-134 157.5,-134 157.5,-122 157.5,-122 157.5,-116 163.5,-110 169.5,-110 169.5,-110 236.5,-110 236.5,-110 242.5,-110 248.5,-116 248.5,-122 248.5,-122 248.5,-134 248.5,-134 248.5,-140 242.5,-146 236.5,-146"/>
|
||||
<text text-anchor="middle" x="203" y="-122.58" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/store/</text>
|
||||
</g>
|
||||
<!-- srv_api->srv_store -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>srv_api->srv_store</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M218.5,-205.29C218.5,-205.29 218.5,-154.92 218.5,-154.92"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="220.95,-154.92 218.5,-147.92 216.05,-154.92 220.95,-154.92"/>
|
||||
</g>
|
||||
<!-- shared_http -->
|
||||
<g id="node21" class="node">
|
||||
<title>shared_http</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M686.25,-146C686.25,-146 605.75,-146 605.75,-146 599.75,-146 593.75,-140 593.75,-134 593.75,-134 593.75,-122 593.75,-122 593.75,-116 599.75,-110 605.75,-110 605.75,-110 686.25,-110 686.25,-110 692.25,-110 698.25,-116 698.25,-122 698.25,-122 698.25,-134 698.25,-134 698.25,-140 692.25,-146 686.25,-146"/>
|
||||
<text text-anchor="middle" x="646" y="-122.58" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">shared/httputil/</text>
|
||||
</g>
|
||||
<!-- srv_api->shared_http -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>srv_api->shared_http</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M263.69,-205.48C263.69,-188.24 263.69,-165 263.69,-165 263.69,-165 619.5,-165 619.5,-165 619.5,-165 619.5,-155.01 619.5,-155.01"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="621.95,-155.01 619.5,-148.01 617.05,-155.01 621.95,-155.01"/>
|
||||
</g>
|
||||
<!-- srv_grpc->srv_queue -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>srv_grpc->srv_queue</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M343,-205.29C343,-205.29 343,-154.92 343,-154.92"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="345.45,-154.92 343,-147.92 340.55,-154.92 345.45,-154.92"/>
|
||||
</g>
|
||||
<!-- shared_log -->
|
||||
<g id="node22" class="node">
|
||||
<title>shared_log</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M824.12,-146C824.12,-146 745.88,-146 745.88,-146 739.88,-146 733.88,-140 733.88,-134 733.88,-134 733.88,-122 733.88,-122 733.88,-116 739.88,-110 745.88,-110 745.88,-110 824.12,-110 824.12,-110 830.12,-110 836.12,-116 836.12,-122 836.12,-122 836.12,-134 836.12,-134 836.12,-140 830.12,-146 824.12,-146"/>
|
||||
<text text-anchor="middle" x="785" y="-122.58" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">shared/logger/</text>
|
||||
</g>
|
||||
<!-- srv_grpc->shared_log -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>srv_grpc->shared_log</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M383.08,-215C489.88,-215 773.19,-215 773.19,-215 773.19,-215 773.19,-154.96 773.19,-154.96"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="775.64,-154.96 773.19,-147.96 770.74,-154.96 775.64,-154.96"/>
|
||||
</g>
|
||||
<!-- srv_model -->
|
||||
<g id="node17" class="node">
|
||||
<title>srv_model</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M240.25,-52C240.25,-52 165.75,-52 165.75,-52 159.75,-52 153.75,-46 153.75,-40 153.75,-40 153.75,-28 153.75,-28 153.75,-22 159.75,-16 165.75,-16 165.75,-16 240.25,-16 240.25,-16 246.25,-16 252.25,-22 252.25,-28 252.25,-28 252.25,-40 252.25,-40 252.25,-46 246.25,-52 240.25,-52"/>
|
||||
<text text-anchor="middle" x="203" y="-28.57" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/model/</text>
|
||||
</g>
|
||||
<!-- srv_store->srv_model -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>srv_store->srv_model</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M203,-109.88C203,-109.88 203,-60.9 203,-60.9"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="205.45,-60.9 203,-53.9 200.55,-60.9 205.45,-60.9"/>
|
||||
</g>
|
||||
<!-- ext_db -->
|
||||
<g id="node24" class="node">
|
||||
<title>ext_db</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M480.88,-48.73C480.88,-50.53 464.35,-52 444,-52 423.65,-52 407.12,-50.53 407.12,-48.73 407.12,-48.73 407.12,-19.27 407.12,-19.27 407.12,-17.47 423.65,-16 444,-16 464.35,-16 480.88,-17.47 480.88,-19.27 480.88,-19.27 480.88,-48.73 480.88,-48.73"/>
|
||||
<path fill="none" stroke="black" d="M480.88,-48.73C480.88,-46.92 464.35,-45.45 444,-45.45 423.65,-45.45 407.12,-46.92 407.12,-48.73"/>
|
||||
<text text-anchor="middle" x="444" y="-28.57" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">Database</text>
|
||||
</g>
|
||||
<!-- srv_store->ext_db -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>srv_store->ext_db</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M248.68,-122C253.15,-122 256.06,-122 256.06,-122 256.06,-122 256.06,-34 256.06,-34 256.06,-34 398.36,-34 398.36,-34"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="398.36,-36.45 405.36,-34 398.36,-31.55 398.36,-36.45"/>
|
||||
<text text-anchor="middle" x="266.77" y="-37.2" font-family="Times,serif" font-size="14.00">SQL</text>
|
||||
</g>
|
||||
<!-- srv_forge -->
|
||||
<g id="node18" class="node">
|
||||
<title>srv_forge</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M358.88,-433.25C358.88,-433.25 291.12,-433.25 291.12,-433.25 285.12,-433.25 279.12,-427.25 279.12,-421.25 279.12,-421.25 279.12,-409.25 279.12,-409.25 279.12,-403.25 285.12,-397.25 291.12,-397.25 291.12,-397.25 358.88,-397.25 358.88,-397.25 364.88,-397.25 370.88,-403.25 370.88,-409.25 370.88,-409.25 370.88,-421.25 370.88,-421.25 370.88,-427.25 364.88,-433.25 358.88,-433.25"/>
|
||||
<text text-anchor="middle" x="325" y="-409.82" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">server/forge/</text>
|
||||
</g>
|
||||
<!-- ext_scm -->
|
||||
<g id="node23" class="node">
|
||||
<title>ext_scm</title>
|
||||
<path fill="#2b2b2b" stroke="black" d="M612.75,-52C612.75,-52 529.25,-52 529.25,-52 523.25,-52 517.25,-46 517.25,-40 517.25,-40 517.25,-28 517.25,-28 517.25,-22 523.25,-16 529.25,-16 529.25,-16 612.75,-16 612.75,-16 618.75,-16 624.75,-22 624.75,-28 624.75,-28 624.75,-40 624.75,-40 624.75,-46 618.75,-52 612.75,-52"/>
|
||||
<text text-anchor="middle" x="571" y="-28.57" font-family="Helvetica,sans-Serif" font-size="14.00" fill="white">SCM Providers</text>
|
||||
</g>
|
||||
<!-- srv_forge->ext_scm -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>srv_forge->ext_scm</title>
|
||||
<path fill="none" stroke="#bdbdbd" d="M337,-397C337,-386.75 337,-376 337,-376 337,-376 528.5,-376 528.5,-376 528.5,-376 528.5,-60.9 528.5,-60.9"/>
|
||||
<polygon fill="#bdbdbd" stroke="#bdbdbd" points="530.95,-60.9 528.5,-53.9 526.05,-60.9 530.95,-60.9"/>
|
||||
<text text-anchor="middle" x="555.5" y="-327.9" font-family="Times,serif" font-size="14.00">SCM API</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 27 KiB |
Reference in New Issue
Block a user