docs: Voeg Keycloak aan architectuur-overzicht toe

This commit is contained in:
Tibo De Peuter 2025-03-06 16:26:00 +01:00
parent a6359539dc
commit 9814c38886
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
4 changed files with 37 additions and 17 deletions

View file

@ -50,6 +50,7 @@ De tech-stack bestaat uit:
- **Frontend**: TypeScript + Vue.js + Vuetify - **Frontend**: TypeScript + Vue.js + Vuetify
- **Backend**: TypeScript + Node.js + Express.js + TypeORM + PostgreSQL - **Backend**: TypeScript + Node.js + Express.js + TypeORM + PostgreSQL
- **Identity provider**: Keycloak
Voor meer informatie over de keuze van deze tech-stack, zie [designkeuzes](https://github.com/SELab-2/Dwengo-1/wiki/Developer:-Design-keuzes). Voor meer informatie over de keuze van deze tech-stack, zie [designkeuzes](https://github.com/SELab-2/Dwengo-1/wiki/Developer:-Design-keuzes).

BIN
assets/img/keycloak.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Before After
Before After

View file

@ -1,30 +1,49 @@
from diagrams import Cluster, Diagram from diagrams import Cluster, Diagram, Edge
from diagrams.custom import Custom from diagrams.custom import Custom
from diagrams.onprem.certificates import LetsEncrypt from diagrams.onprem.certificates import LetsEncrypt
from diagrams.onprem.container import Docker
from diagrams.onprem.database import PostgreSQL from diagrams.onprem.database import PostgreSQL
from diagrams.onprem.logging import Loki from diagrams.onprem.logging import Loki
from diagrams.onprem.monitoring import Grafana from diagrams.onprem.monitoring import Grafana
from diagrams.onprem.network import Nginx from diagrams.onprem.network import Nginx
from diagrams.programming.flowchart import InputOutput
from diagrams.programming.framework import Vue from diagrams.programming.framework import Vue
from diagrams.programming.language import Nodejs from diagrams.programming.language import Nodejs
from diagrams.programming.flowchart import InputOutput
with Diagram("Dwengo-1 architectuur", filename="docs/architecture/schema", show=False): with Diagram("Dwengo-1 architectuur", filename="docs/architecture/schema", show=False):
reverse_proxy = Nginx("reverse proxy") ingress = Nginx("Reverse Proxy")
reverse_proxy >> LetsEncrypt("SSL") certificates = LetsEncrypt("SSL")
with Cluster("Docker"): with Cluster("Dwengo VZW"):
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") dwengo = Custom("Dwengo", "../../assets/img/dwengo-groen-zwart.png")
backend >> dwengo with Cluster("Dwengo-1"):
frontend = Vue("/")
backend = Nodejs("/api")
identity_provider = Custom("IDP", "../../assets/img/keycloak.png")
database = PostgreSQL("Database")
orm = InputOutput("MikroORM")
orm >> Edge(label="map") << database
with Cluster("Observability"):
logging = Loki("Logging")
logging << Edge(color="firebrick", style="dashed") << Grafana("Monitoring")
dependencies = [
dwengo,
logging,
orm
]
backend >> dependencies
service = [
frontend,
backend,
identity_provider,
certificates
]
ingress \
>> Edge(color="darkgreen") \
<< service