@@ -58,33 +58,26 @@ C4Container
5858 title C4 Container Diagram - Forti
5959
6060 Person_Ext(client, "API Client", "Consumes forecast data over REST")
61+ Person_Ext(dataloader, "Dataset Loader", "Loads forecast datasets into the forti object store")
6162
6263 Boundary(forti, "Forti") {
63- System(ingress, "Ingress", "Routes incoming requests")
64- Container(dataloader, "Dataset Loader", "CLI", "Loads forecast datasets into the object store")
65- System(objectstore, "Object Store", "Stores forecast datasets")
6664 Boundary(core, "Core") {
6765 Container(frontends, "Frontends", "Go", "Serve point forecast timeseries over REST")
6866 Container(correctedforecaster, "Correctedforecaster", "Go GRPC", "Post-process and serve forecast data")
6967 Container(rawdataforecaster, "Rawdataforecaster", "Go GRPC", "Serve forecast from cache or object store")
7068 }
71- Boundary(monitoring, "Monitoring") {
72- Container(healthz, "Healthz", "Go", "Runs integration tests and reports health over REST")
69+ Boundary(support, "Support") {
70+ System(objectstore, "Object Store", "Stores forecast datasets")
71+ Container(healthz, "Healthz", "Go", "Runs integration tests and reports health")
7372 System(prometheus, "Prometheus", "Collects metrics from Forti components")
7473 }
7574 }
7675
77- Rel(client, ingress, "REST")
78- Rel_Down(ingress, frontends, "http")
79- Rel_Right(ingress, healthz, "http")
80- Rel_Right(ingress, prometheus, "http")
81- Rel_Left(healthz, ingress, "rest")
76+ Rel(client, frontends, "http")
8277 Rel(frontends, correctedforecaster, "grpc")
8378 Rel(correctedforecaster, rawdataforecaster, "grpc")
79+
80+ Rel(dataloader, objectstore, "Upload forecast data")
8481 Rel(correctedforecaster, objectstore, "Download topography")
8582 Rel(rawdataforecaster, objectstore, "Read forecast data")
86- Rel(dataloader, objectstore, "Upload forecast data")
87- Rel_Left(prometheus, frontends, "http")
88- Rel_Left(prometheus, correctedforecaster, "http")
89- Rel_Left(prometheus, rawdataforecaster, "http")
9083```
0 commit comments