docs: Voeg Keycloak aan architectuur-overzicht toe
This commit is contained in:
parent
a6359539dc
commit
9814c38886
4 changed files with 37 additions and 17 deletions
|
@ -50,6 +50,7 @@ De tech-stack bestaat uit:
|
|||
|
||||
- **Frontend**: TypeScript + Vue.js + Vuetify
|
||||
- **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).
|
||||
|
||||
|
|
BIN
assets/img/keycloak.png
Normal file
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 |
|
@ -1,30 +1,49 @@
|
|||
from diagrams import Cluster, Diagram
|
||||
from diagrams import Cluster, Diagram, Edge
|
||||
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.flowchart import InputOutput
|
||||
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")
|
||||
ingress = Nginx("Reverse Proxy")
|
||||
certificates = 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"):
|
||||
with Cluster("Dwengo VZW"):
|
||||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue