Add demo deployment diagram
This commit is contained in:
parent
da153d9dfb
commit
89b7397520
55
c2-deployment.puml
Normal file
55
c2-deployment.puml
Normal 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
|
||||||
Loading…
Reference in New Issue
Block a user