Ga naar hoofdinhoud

Architectuur overzicht

Diagram

Internet


┌─────────────┐
│ Caddy │ Reverse proxy + automatisch HTTPS (Let's Encrypt)
│ (443/80) │
└──────┬──────┘

├── control.nexonsolutions.be → control-plane-web (React/Vite)
├── api.control.* → control-plane-api (FastAPI)
├── portal.nexonsolutions.be → portal (vanilla JS)
├── auth.nexonsolutions.be → Keycloak 26
├── drive.nexonsolutions.be → Nextcloud
├── grafana.nexonsolutions.be → Grafana
└── alerts.nexonsolutions.be → Alertmanager

┌──────────────────────────────────────────────┐
│ Docker Compose — nexon-orbit-public │
│ │
│ control-plane-api ←→ control-plane-db │
│ admin-api ←→ admin-db │
│ keycloak ←→ keycloak-db │
│ drive (Nextcloud) ←→ drive-db │
│ prometheus ← promtail ← alle containers │
│ grafana ← prometheus + loki │
│ alertmanager ← prometheus │
└──────────────────────────────────────────────┘

Twee API-lagen

APITechVerantwoordelijkheid
control-plane-apiFastAPI (Python)Tenant management, DNS, packages, billing
admin-apiFastify (Node.js)Orbit gebruikers, Drive sync, identiteiten

De twee API's communiceren intern via x-internal-secret.