digraph DockerComposeDemo {
rankdir=LR; // Left-to-right layout
node [shape=plaintext fontname="Helvetica"];
edge [arrowsize=0.5];
// Title
label="Container Dependencies for Demo";
labelloc=top;
fontsize=20;
fontname="Helvetica";
// Define nodes with clickable Dockerfile references
dbssvc [
href="../demo/containers/dbsdata/Dockerfile"
target="_blank"
shape=plaintext
label=<
| dbssvc |
| Dockerfile: ./demo/containers/dbsdata/Dockerfile |
>
];
dbstore [
shape=plaintext
label=<
| dbstore |
| Image: minio/minio:RELEASE.2024-06-11T03-13-30Z |
>
];
client_ghmrva [
href="../client/containers/ghmrva/Dockerfile"
target="_blank"
shape=plaintext
label=<
| client-ghmrva |
| Dockerfile: ./client/containers/ghmrva/Dockerfile |
|
|
|
>
];
code_server [
href="../client/containers/vscode/Dockerfile"
target="_blank"
shape=plaintext
label=<
| code-server |
| Dockerfile: ./client/containers/vscode/Dockerfile |
>
];
rabbitmq [
shape=plaintext
label=<
| rabbitmq |
| Image: rabbitmq:3-management |
>
];
artifactstore [
shape=plaintext
label=<
| artifactstore |
| Image: minio/minio:RELEASE.2024-06-11T03-13-30Z |
>
];
agent [
href="../cmd/agent/Dockerfile"
target="_blank"
shape=plaintext
label=<
| agent |
| Dockerfile: ./cmd/agent/Dockerfile |
>
];
// Expanded 'server' node with handler names and Dockerfile reference
server [
href="../cmd/server/Dockerfile"
target="_blank"
shape=plaintext
label=<
| server |
| Dockerfile: ./cmd/server/Dockerfile |
| c.MRVARequest |
| c.MRVAStatus |
| c.MRVADownloadArtifact |
| c.MRVARequestID |
| c.MRVADownloadQLDB |
| Not Found |
>
];
// Define edges (dependencies)
dbstore -> dbssvc;
server -> dbstore;
server -> rabbitmq;
server -> artifactstore;
agent -> dbstore;
agent -> artifactstore;
agent -> rabbitmq;
// Message links
client_ghmrva:slot1 -> server:c_MRVARequest [label="message" style=dashed penwidth=2 fontsize=8];
client_ghmrva:slot2 -> server:c_MRVAStatus [label="message" style=dashed penwidth=2 fontsize=8];
client_ghmrva:slot3 -> server:c_MRVADownloadArtifact [label="message" style=dashed penwidth=2 fontsize=8];
}