67 lines
1.9 KiB
Plaintext
67 lines
1.9 KiB
Plaintext
digraph G {
|
|
node [ shape=box ]
|
|
rankdir=LR;
|
|
|
|
label="CDN maintenance"
|
|
|
|
subgraph cluster_outsideuser {
|
|
label="Customer/Users"
|
|
customer [ label="Customer" ]
|
|
users [ label="Users" ]
|
|
}
|
|
|
|
subgraph cluster_user {
|
|
label="Staff"
|
|
devops [ label="DevOps" ]
|
|
developer [ label="Developer" ]
|
|
networking [ label="Network Engineer" ]
|
|
support [ label="Support Staff" ]
|
|
}
|
|
{customer,users}->support [ color=red ]
|
|
|
|
subgraph cluster_origin {
|
|
label="Origin DC"
|
|
origin [ label="Origin Node\nServing example.com" ]
|
|
}
|
|
customer->origin [ color=red ]
|
|
|
|
subgraph cluster_homedc {
|
|
label="HomeDC"
|
|
|
|
kubemaster [ label="Kubernetes master nodes" ]
|
|
kubeworker [ label="Kubernetes worker nodes" ]
|
|
vpn [ label="VPN endpoint" ]
|
|
|
|
subgraph cluster_kubernetes {
|
|
label="Kubernetes Workload"
|
|
|
|
api [ label="Tenant/OpsAPI" ]
|
|
ui [ label="User Interface\nPost MVP" ]
|
|
db [ label="Database" ]
|
|
promhome [ label="Prometheus" ]
|
|
grafana [ label="Grafana" ]
|
|
}
|
|
}
|
|
developer->{kubemaster,kubeworker,api} [ color=green ]
|
|
devops->{kubemaster,kubeworker,api} [ color=blue ]
|
|
devops->{db,promhome,grafana} [ color=blue ]
|
|
support->grafana [ color=pink ]
|
|
|
|
subgraph cluster_pops {
|
|
label="PoP"
|
|
|
|
servicenode [ label="Service Node" ]
|
|
edgenode [ label="Edge nodes" ]
|
|
delivery [ label="Delivery API" ]
|
|
prompop [ label="Prometheus" ]
|
|
switches [ label="Switches" ]
|
|
isp [ label="ISP/Upstream" ]
|
|
vpnpop [ label="VPN endpoint" ]
|
|
}
|
|
devops->{delivery, servicenode} [ color=blue ]
|
|
developer->{delivery, servicenode} [ color=green ]
|
|
devops->{edgenode,prompop} [ color=blue ]
|
|
networking->{vpn, vpnpop, switches, isp, edgenode} [ color=purple ]
|
|
|
|
}
|