@startuml OmegaV.no v2 C2 Server Diagram '!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml !include Container_Ext(InternalWebsite, "Intranett", "Single page application", "Internal system, change member info, add OBS and Komp wares, etc.") Container_Ext(PublicWebsite, "Public website", "Staticly generate page", "Front posts, information, and component search.") System_Boundary(c2ApiServer, "API server system") { System_Boundary(c2Server, "API server") { Container(ApiServer, "API server", "Webserver framework", "System to handle REST API calls") Container(SSOCache, "JWT validation", "Software system", "Validates user provided authorization tokens") } System_Boundary(c2Db, "Database") { Container(DB, "Database", "PostgreSQL", "Stores all the data") } } System_Ext(SSO, "SSO", "Authentication and authroization provider") ' Website connections Rel_Right(InternalWebsite, ApiServer, "Uses", "REST API") Rel_Left(PublicWebsite, ApiServer, "Uses", "REST API") ' Internal connections Rel(ApiServer, DB, "Uses", "SQL / ORM") Rel(ApiServer, SSOCache, "Uses", "Function call") Rel(SSOCache, SSO, "Fetch initial information & update cached signing keys", "HTTPS") @enduml