migrated spr stuff
This commit is contained in:
95
atlas/books/sysmonstm/architecture/03-deployment.dot
Normal file
95
atlas/books/sysmonstm/architecture/03-deployment.dot
Normal file
@@ -0,0 +1,95 @@
|
||||
digraph Deployment {
|
||||
rankdir=TB;
|
||||
compound=true;
|
||||
fontname="Helvetica";
|
||||
node [fontname="Helvetica", fontsize=10];
|
||||
edge [fontname="Helvetica", fontsize=9];
|
||||
|
||||
labelloc="t";
|
||||
label="Deployment Architecture";
|
||||
fontsize=14;
|
||||
|
||||
node [shape=box, style="rounded,filled"];
|
||||
|
||||
// Local Development
|
||||
subgraph cluster_local {
|
||||
label="Local Development";
|
||||
style=filled;
|
||||
fillcolor="#E3F2FD";
|
||||
|
||||
subgraph cluster_kind {
|
||||
label="Kind Cluster";
|
||||
style=filled;
|
||||
fillcolor="#BBDEFB";
|
||||
|
||||
tilt [label="Tilt\n(Live Reload)", shape=component, fillcolor="#90CAF9"];
|
||||
k8s_local [label="K8s Pods\n(via Kustomize)", fillcolor="#64B5F6"];
|
||||
}
|
||||
|
||||
compose [label="Docker Compose\n(Alternative)", fillcolor="#90CAF9", style="rounded,dashed"];
|
||||
}
|
||||
|
||||
// AWS Staging/Demo
|
||||
subgraph cluster_aws {
|
||||
label="AWS (sysmonstm.mcrn.ar)";
|
||||
style=filled;
|
||||
fillcolor="#E8F5E9";
|
||||
|
||||
subgraph cluster_ec2 {
|
||||
label="EC2 t2.small";
|
||||
style=filled;
|
||||
fillcolor="#C8E6C9";
|
||||
|
||||
compose_ec2 [label="Docker Compose\n(All Services)", fillcolor="#A5D6A7"];
|
||||
nginx [label="Nginx\n(SSL Termination)", fillcolor="#81C784"];
|
||||
}
|
||||
|
||||
subgraph cluster_lambda {
|
||||
label="Lambda (Data Processing)";
|
||||
style=filled;
|
||||
fillcolor="#DCEDC8";
|
||||
|
||||
lambda_agg [label="Aggregator\nLambda", fillcolor="#AED581"];
|
||||
lambda_compact [label="Compactor\nLambda", fillcolor="#9CCC65"];
|
||||
}
|
||||
|
||||
sqs [label="SQS\n(Buffer)", shape=hexagon, fillcolor="#FFE082"];
|
||||
s3 [label="S3\n(Backup)", shape=cylinder, fillcolor="#FFE082"];
|
||||
}
|
||||
|
||||
// CI/CD
|
||||
subgraph cluster_cicd {
|
||||
label="CI/CD";
|
||||
style=filled;
|
||||
fillcolor="#F3E5F5";
|
||||
|
||||
woodpecker [label="Woodpecker CI", fillcolor="#CE93D8"];
|
||||
registry [label="Container\nRegistry", shape=cylinder, fillcolor="#BA68C8"];
|
||||
}
|
||||
|
||||
// Collectors (External)
|
||||
subgraph cluster_collectors {
|
||||
label="Monitored Machines";
|
||||
style=dashed;
|
||||
color=gray;
|
||||
|
||||
coll1 [label="Collector\n(Machine 1)", fillcolor="#FFCCBC"];
|
||||
coll2 [label="Collector\n(Machine 2)", fillcolor="#FFCCBC"];
|
||||
coll3 [label="Collector\n(Machine N)", fillcolor="#FFCCBC"];
|
||||
}
|
||||
|
||||
// Connections
|
||||
tilt -> k8s_local [style=invis];
|
||||
woodpecker -> registry [label="Push"];
|
||||
registry -> compose_ec2 [label="Pull"];
|
||||
registry -> k8s_local [label="Pull", style=dashed];
|
||||
|
||||
nginx -> compose_ec2 [label="Proxy"];
|
||||
compose_ec2 -> sqs [label="Events"];
|
||||
sqs -> lambda_agg [label="Trigger"];
|
||||
lambda_compact -> s3 [label="Archive"];
|
||||
|
||||
coll1 -> compose_ec2 [label="gRPC", lhead=cluster_ec2];
|
||||
coll2 -> compose_ec2 [label="gRPC", lhead=cluster_ec2];
|
||||
coll3 -> compose_ec2 [label="gRPC", lhead=cluster_ec2];
|
||||
}
|
||||
Reference in New Issue
Block a user