|
| 1 | +from diagrams import Cluster, Diagram |
| 2 | +from diagrams.aws.compute import ECS, EC2 |
| 3 | +from diagrams.onprem.database import Mongodb |
| 4 | +from diagrams.onprem.queue import Rabbitmq |
| 5 | +from diagrams.gcp.analytics import BigQuery, Dataflow, PubSub |
| 6 | +from diagrams.programming.language import Nodejs |
| 7 | +from diagrams.onprem.monitoring import Grafana, Prometheus |
| 8 | +from diagrams.aws.database import RDS |
| 9 | +from diagrams.aws.network import ELB |
| 10 | +from diagrams.aws.storage import S3 |
| 11 | +from diagrams.onprem.network import Traefik |
| 12 | +from diagrams.custom import Custom |
| 13 | +from diagrams.onprem.tracing import Jaeger |
| 14 | +from diagrams.onprem.database import Cassandra |
| 15 | + |
| 16 | +with Diagram("OpenFlow Basic"): |
| 17 | + with Cluster("Backend"): |
| 18 | + b = [Mongodb("MongoDB"), Rabbitmq("RabbitMQ")] |
| 19 | + with Cluster("Remote Clients"): |
| 20 | + rc = [Custom("OpenRPA", "./my_resources/open_rpa128.png"), Custom("PowerShell", |
| 21 | + "./my_resources/PowerShell_5.0_icon.png"), Custom("NodeRED", "./my_resources/node-red-icon.png")] |
| 22 | + with Cluster("Frontend + API"): |
| 23 | + api = EC2("WEB-API") |
| 24 | + Custom("NodeRED", "./my_resources/node-red-icon.png") |
| 25 | + b << api |
| 26 | + api << rc |
| 27 | + |
| 28 | +with Diagram("OpenFlow with Traefik"): |
| 29 | + |
| 30 | + with Cluster("Backend"): |
| 31 | + b = [Mongodb("MongoDB"), Rabbitmq("RabbitMQ")] |
| 32 | + |
| 33 | + with Cluster("Remote Clients"): |
| 34 | + rc = [Custom("OpenRPA", "./my_resources/open_rpa128.png"), Custom("PowerShell", |
| 35 | + "./my_resources/PowerShell_5.0_icon.png"), Custom("NodeRED", "./my_resources/node-red-icon.png")] |
| 36 | + |
| 37 | + with Cluster("Frontend + API"): |
| 38 | + api = EC2("WEB-API") |
| 39 | + cn = Custom("NodeRED", "./my_resources/node-red-icon.png") |
| 40 | + |
| 41 | + t = Traefik("Traefik") |
| 42 | + |
| 43 | + b << api |
| 44 | + cn << t |
| 45 | + api << t |
| 46 | + t << rc |
| 47 | + |
| 48 | + |
| 49 | +with Diagram("OpenFlow with Monitoring"): |
| 50 | + |
| 51 | + with Cluster("Backend"): |
| 52 | + b = [Mongodb("MongoDB"), Rabbitmq("RabbitMQ")] |
| 53 | + |
| 54 | + with Cluster("Remote Clients"): |
| 55 | + rc = [Custom("OpenRPA", "./my_resources/open_rpa128.png"), Custom("PowerShell", |
| 56 | + "./my_resources/PowerShell_5.0_icon.png"), Custom("NodeRED", "./my_resources/node-red-icon.png")] |
| 57 | + |
| 58 | + with Cluster("Frontend + API"): |
| 59 | + api = EC2("WEB-API") |
| 60 | + cn = Custom("NodeRED", "./my_resources/node-red-icon.png") |
| 61 | + |
| 62 | + with Cluster("Monitoring"): |
| 63 | + g = Grafana("Grafana") |
| 64 | + p = Prometheus("Prometheus") |
| 65 | + otel = EC2("Open Telemetry") |
| 66 | + j = Jaeger("Jaeger") |
| 67 | + c = Cassandra("Cassandra") |
| 68 | + |
| 69 | + t = Traefik("Traefik") |
| 70 | + |
| 71 | + b << api |
| 72 | + cn << t |
| 73 | + api << t |
| 74 | + t << rc |
| 75 | + |
| 76 | + otel << b |
| 77 | + otel << rc |
| 78 | + otel << api |
| 79 | + otel << cn |
| 80 | + |
| 81 | + c << j |
| 82 | + j << otel |
| 83 | + |
| 84 | + p << otel |
| 85 | + p << g |
| 86 | + api << g |
| 87 | + g << t |
0 commit comments