Add demo deployment diagram

This commit is contained in:
Sebastian H. Gabrielli 2024-01-04 23:27:54 +01:00
parent da153d9dfb
commit 89b7397520

55
c2-deployment.puml Normal file
View File

@ -0,0 +1,55 @@
@startuml OmagaV v2 deployment
!include <C4/C4_Container>
' Define output quality
skinparam dpi 300
' Define the user roles
Person(BoardMember, "Styremedlem", "Prøvemedlem, Noechelmedlem, eller aktiv Pang!")
Person_Ext(NormalMember, "Medlem", "Normale, ikke-styre medlemmer")
' Define website services
System_Boundary(SiteServer, "Website VM") {
Container(ReverseProxy, "Reverse Proxy", "Nginx Proxy Manager", "SSL Termination and forwarding to correct server")
System_Boundary(ApacheBoundary, "Apache web server") {
Container(Apache, "Apache webserver", "Webserver hosting the websites")
Container(PublicSite, "Public site", "/var/www/public", "Public website, statically generated")
Container(InternalSite, "Intranett", "/var/www/intranett", "Intranett website")
Container(ApiDoc, "API Documentation", "/var/www/doc", "Interactive HTML REST API Documentation")
}
Container(ApiServer, "REST API Server", "Rocket.rs", "Server that handles all data and interacts with DB")
ContainerDb(DB, "Database", "SQLite3")
}
' Define SSO services
System_Boundary(Inept, "SSO VM") {
Container(SSO, "SSO Server", "Authentik")
}
' Define user connections
Rel(BoardMember, ReverseProxy, "Uses", "HTTPS")
Rel(BoardMember, SSO, "Uses", "HTTPS")
Rel(NormalMember, ReverseProxy, "Uses", "HTTPS")
' Define reverse proxy connections
Rel(ReverseProxy, ApiServer, "Forwards", "HTTP")
Rel(ReverseProxy, Apache, "Uses", "HTTP")
' Defines apache serve routes
Rel(Apache, ApiDoc, "Serves", "localhost:8082")
Rel(Apache, PublicSite, "Serves", "localhost:8081")
Rel(Apache, InternalSite, "Serves", "localhost:8080")
' Define the API server connections
Rel(ApiServer, SSO, "Uses", "HTTPS")
Rel(ApiServer, DB, "Uses", "SQL")
' Alignment and layout
Lay_R(SSO, ApiServer)
Lay_R(InternalSite, ApiServer)
Lay_R(PublicSite, ApiServer)
@enduml