Files
mrvacommander/doc/mrva.dot
2025-04-30 10:50:54 -07:00

57 lines
1.5 KiB
Plaintext

digraph mrvacommander {
rankdir=LR;
node [shape=box style=filled fillcolor=lightgrey fontname="monospace"];
// Entry points
cmd_server [label="cmd/server\nmain()", fillcolor=lightblue];
cmd_agent [label="cmd/agent\nmain()", fillcolor=lightblue];
// Config
config [label="config/mcc\nparseEnv()", shape=ellipse, fillcolor=lightyellow];
// Server-side
server [label="pkg/server\nServer.Run()"];
deploy [label="pkg/deploy\nInit()"];
qldbstore [label="pkg/qldbstore\nQLDB Store"];
artifactstore [label="pkg/artifactstore\nArtifact Store"];
queue [label="pkg/queue\nQueue Interface"];
// Agent-side
agent [label="pkg/agent\nAgent.Run()"];
state [label="pkg/state\nState"];
codeql [label="pkg/codeql\nrunCodeQL()"];
// Common
common [label="pkg/common\nTypes, MinIO, Jobs"];
utils [label="utils\nDownload, Archive"];
// Edges: config used by both
cmd_server -> config;
cmd_agent -> config;
// Server wiring
cmd_server -> server;
server -> queue;
server -> artifactstore;
server -> qldbstore;
// Agent wiring
cmd_agent -> agent;
agent -> queue;
agent -> codeql;
agent -> artifactstore;
agent -> state;
// Shared deps
server -> common;
agent -> common;
codeql -> common;
qldbstore -> common;
artifactstore -> common;
// Utils used by backends
qldbstore -> utils;
artifactstore -> utils;
codeql -> utils;
}