-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
47 lines (39 loc) · 1.36 KB
/
main.py
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
from diagrams import Diagram, Cluster, Edge
from diagrams.onprem.database import MySQL
from diagrams.onprem.compute import Server
from diagrams.onprem.client import Client, User
from diagrams.onprem.inmemory import Redis
from diagrams.programming.language import PHP, Go, Typescript, Python
from diagrams.custom import Custom
from diagrams.generic.os import Android
with Diagram("Reconmap system architecture", show=True, direction="LR"):
user = User("Pentester")
with Cluster("Database"):
apiDb = MySQL("API database")
keycloakDb = MySQL("Keycloak database")
apiDb - Edge(color="brown", style="dotted") - keycloakDb
restApi = PHP("Rest API")
webClient = Client("Web client")
webClient >> restApi
cli = Go("CLI")
redis = Redis("Cache")
keycloak = Custom("Keycloak", "resources/keycloak_icon_512px.png")
agent = Go("Agent")
mobileClient = Android("Mobile client")
user >> webClient
user >> cli
user >> mobileClient
with Cluster("Tools"):
nmap = Custom("Nmap", "resources/nmap-2x.png")
zap = Custom("OWASP Zap", "resources/owasp-zap.png")
tools = [nmap, zap]
cli >> tools
agent >> tools
keycloak >> restApi
keycloak >> keycloakDb
webClient >> keycloak
restApi >> apiDb
cli >> restApi
mobileClient >> restApi
restApi >> redis
agent >> restApi