30 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from diagrams import Cluster, Diagram
 | |
| from diagrams.custom import Custom
 | |
| from diagrams.onprem.certificates import LetsEncrypt
 | |
| from diagrams.onprem.container import Docker
 | |
| from diagrams.onprem.database import PostgreSQL
 | |
| from diagrams.onprem.logging import Loki
 | |
| from diagrams.onprem.monitoring import Grafana
 | |
| from diagrams.onprem.network import Nginx
 | |
| from diagrams.programming.framework import Vue
 | |
| from diagrams.programming.language import Nodejs
 | |
| from diagrams.programming.flowchart import InputOutput
 | |
| 
 | |
| with Diagram("Dwengo-1 architectuur", filename="docs/architecture/schema", show=False):
 | |
|     reverse_proxy = Nginx("reverse proxy")
 | |
|     reverse_proxy >> LetsEncrypt("SSL")
 | |
| 
 | |
|     with Cluster("Docker"):
 | |
|         Docker()
 | |
| 
 | |
|         frontend = Vue("/")
 | |
|         backend = Nodejs("/api")
 | |
|         reverse_proxy >> frontend
 | |
|         frontend >> backend >> InputOutput("MikroORM") >> PostgreSQL()
 | |
| 
 | |
|         backend >> Loki("logging") >> Grafana("monitoring")
 | |
| 
 | |
|     with Cluster("Dwengo"):
 | |
|         dwengo = Custom("Dwengo", "../../assets/img/dwengo-groen-zwart.png")
 | |
| 
 | |
|     backend >> dwengo
 |