-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreport-generator.py
64 lines (52 loc) · 1.83 KB
/
report-generator.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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from diagrams import Cluster, Diagram, Edge
from diagrams.onprem.client import Client
from diagrams.onprem.compute import Server
from diagrams.onprem.database import PostgreSQL, Oracle
from diagrams.onprem.database import Mongodb
from diagrams.onprem.inmemory import Redis
with Diagram(name="Report Generator", show=False):
user = Client("User")
broker = Server("Broker \n Microservice")
mail = Server("Mail \n Microservice")
with Cluster("Logger"):
logger = Server("Logger \n Microservice")
mongo = Mongodb("MongoDB")
logger \
>> Edge(color="red", label="gRPC") \
<< mongo
with Cluster("Authentication"):
auth = Server("Auth \n Microservice")
postgres = PostgreSQL("PostgreSQL \n (TMON users)")
auth \
>> Edge(color="red", label="gRPC") \
<< postgres
with Cluster("Listener"):
listener = Server("Listener \n Microservice")
asynq = Redis("asynq \n Redis")
asynq \
>> Edge(color="red", label="asynq") \
>> listener
with Cluster("Report Generator"):
rpt = Server("Report Generation \n Microservice")
orcl = Oracle("Oracle DB")
sap = Server("192.168.1.250 \n SAP Crystal Reports")
rpt >> Edge(color="blue") << sap
sap >> Edge(color="blue") << orcl
user \
>> Edge(color="black", label="http") \
<< broker \
broker \
>> Edge(color="darkgreen", label="gRPC") \
<< logger
broker \
>> Edge(color="darkgreen", label="gRPC") \
>> asynq
listener \
>> Edge(color="darkgreen", label="gRPC") \
>> mail \
>> broker
auth \
>> Edge(color="darkgreen", label="gRPC") \
<< broker
listener >> Edge(color="blue", label="gRPC") \
<< rpt