-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdiagram.py
43 lines (33 loc) · 1.26 KB
/
diagram.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
from turtle import color
from diagrams import Cluster, Diagram
from diagrams.saas.cdn import Cloudflare
from diagrams.saas.media import Cloudinary
from diagrams.onprem.inmemory import Redis
from diagrams.onprem.network import Traefik
from diagrams.azure.storage import BlobStorage
from diagrams.custom import Custom
graph_attr = {
"fontsize": "30",
"fontname": "Arial"
}
cluster_attr = {
"fontname": "Arial",
"fontsize": "15"
}
with Diagram("Photo Proofing", show=False, direction="TB", graph_attr=graph_attr):
dns = Cloudflare("Cloudflare DNS")
traefik = Traefik("Traefik: Reverse Proxy, Certificate Issuer, Monitoring")
sendgrid = Custom("SendGrid Email", "./images/sendgrid.png")
with Cluster("Docker", graph_attr=cluster_attr):
client = Custom("Angular Client", "./images/angular.png")
api = Custom(".NET 6 API w/EF6", "./images/.net.png")
redis = Redis("Redis Cache")
api - redis
insight = Custom("RedisInsight", "./images/redisinsight.png")
insight - redis
api - Custom("PlanetScale DB", "./images/planetscale.png")
api - BlobStorage("Azure Blob Storage")
api - sendgrid
client - api
traefik - insight
dns - traefik - client - Cloudinary("Cloudinary CDN") - api