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
|
- **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
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.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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue