Server
Contexte du projet
Section titled “Contexte du projet”Berth API est une API REST écrite en Go avec Gin. Elle supervise les applications et conteneurs Docker d’une instance mono-tenant déployée chez chaque client (self-hosted). Chaque installation possède sa base PostgreSQL 18 et son cache Redis 8.10 : il n’y a donc pas de partitionnement multi-tenant à gérer dans le modèle de données.
L’API communique avec :
- un front Angular 22 via REST et WebSocket/SSE pour les commandes, les vues et les événements temps réel ;
- des agents Go distants via gRPC pour remonter l’état et exécuter des actions sur les hôtes Docker ;
- PostgreSQL 18 pour la persistance transactionnelle ;
- Redis 8.10 comme cache de lecture seule, invalidé après chaque écriture réussie.
Le système applique un CQRS allégé : les commandes modifient l’état, les requêtes le lisent, mais les deux utilisent la même base PostgreSQL. Il n’y a ni event sourcing ni message broker.
