Files
deskmeter/docs/architecture/03-deployment.dot
2026-01-26 15:11:03 -03:00

84 lines
2.5 KiB
Plaintext

digraph Deployment {
// Graph settings
rankdir=TB;
compound=true;
fontname="Helvetica";
node [fontname="Helvetica", fontsize=11];
edge [fontname="Helvetica", fontsize=10];
// Title
labelloc="t";
label="Deskmeter - Deployment Architecture";
fontsize=16;
// Styling
node [shape=box, style="rounded,filled"];
// Development
subgraph cluster_dev {
label="Development (Local)";
style=filled;
color="#E3F2FD";
fillcolor="#E3F2FD";
source [label="Source Code\n(/home/mariano/wdir/dm)", fillcolor="#BBDEFB"];
docker_build [label="docker build", fillcolor="#BBDEFB", shape=parallelogram];
}
// Registry
subgraph cluster_registry {
label="Private Registry";
style=filled;
color="#F3E5F5";
fillcolor="#F3E5F5";
registry [label="registry.mcrn.ar:5000\n(Docker Registry)", fillcolor="#E1BEE7", shape=cylinder];
}
// AWS EC2
subgraph cluster_aws {
label="AWS EC2 (mcrn.ar)";
style=filled;
color="#FFF3E0";
fillcolor="#FFF3E0";
// Gateway Network
subgraph cluster_gateway {
label="gateway network";
style=dashed;
color="#F57C00";
nginx [label="Nginx\n(SSL termination)", fillcolor="#FFE0B2"];
dmweb_container [label="dmweb:latest\n(port 10000)", fillcolor="#FFE0B2"];
}
// Internal Network
subgraph cluster_internal {
label="internal network";
style=dashed;
color="#388E3C";
mongo_container [label="mongo:7\n(port 27017)", fillcolor="#C8E6C9", shape=cylinder];
mongo_volume [label="mongo-data\n(volume)", fillcolor="#DCEDC8", shape=folder];
}
}
// DNS
dns [label="deskmeter.mcrn.ar\n(DNS)", fillcolor="#FFCDD2", shape=diamond];
// Internet
internet [label="Internet\n(Portfolio Visitors)", fillcolor="#F5F5F5"];
// Flow
source -> docker_build [label="Dockerfile"];
docker_build -> registry [label="docker push", color="#7B1FA2"];
registry -> dmweb_container [label="docker pull", color="#7B1FA2"];
dmweb_container -> mongo_container [label="MONGODB_HOST=mongo", color="#388E3C"];
mongo_container -> mongo_volume [label="persist", style=dashed];
internet -> dns [color="#1976D2"];
dns -> nginx [label="HTTPS", color="#1976D2"];
nginx -> dmweb_container [label="proxy_pass", color="#F57C00"];
}