-
Notifications
You must be signed in to change notification settings - Fork 3
/
architecture-simple.puml
61 lines (45 loc) · 1.75 KB
/
architecture-simple.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
@startuml
' Include the theme explicitly as it changes
!includeurl https://raw.githubusercontent.com/plantuml/plantuml/10aa96e31d9be66e7c103bac011cc5effae33421/themes/puml-theme-cerulean-outline.puml
' !theme cerulean-outline
left to right direction
caption All resource names start with sample-project (e.g. sample-project-core). Deployments omitted for simplicity.
' Azure
!define AzurePuml https://raw.githubusercontent.com/RicardoNiepel/Azure-PlantUML/release/2-1/dist
!includeurl AzurePuml/AzureCommon.puml
!includeurl AzurePuml/AzureSimplified.puml
!includeurl AzurePuml/Networking/AzureLoadBalancer.puml
' Kubernetes
!define KubernetesPuml https://raw.githubusercontent.com/dcasati/kubernetes-PlantUML/master/dist
!includeurl KubernetesPuml/kubernetes_Context.puml
!includeurl KubernetesPuml/kubernetes_Simplified.puml
!includeurl KubernetesPuml/OSS/KubernetesApi.puml
!includeurl KubernetesPuml/OSS/KubernetesSvc.puml
!includeurl KubernetesPuml/OSS/KubernetesIng.puml
!includeurl KubernetesPuml/OSS/KubernetesPod.puml
actor "User" as user
' Kubernetes Components
Cluster_Boundary(cluster, "Kubernetes Cluster") {
Namespace_Boundary(nsBackEnd, "sample-project") {
KubernetesIng(traefik, "Ingress", "")
KubernetesSvc(svcFront, "frontend", "")
KubernetesSvc(svcCore, "core", "")
KubernetesSvc(svcLeaf, "leaf", "")
KubernetesSvc(svcDb, "database", "")
KubernetesSvc(svcSoc, "sockets", "")
}
}
AzureLoadBalancer(alb, "Load\nBalancer", "")
Rel(traefik, svcFront, " ")
Rel(traefik, svcCore, " ")
Rel(traefik, svcSoc, " ")
Rel(svcFront, svcCore, "REST")
Rel(svcFront, svcSoc, "WS")
Rel(svcCore, svcLeaf, "REST")
Rel(svcCore, svcDb, "mongo")
Rel(alb, traefik, " ")
Rel(user, alb, " ")
note left of svcFront
edge
end note
@enduml