34 lines
1.2 KiB
Text
34 lines
1.2 KiB
Text
|
@startuml
|
||
|
!include <C4/C4_Container.puml>
|
||
|
!include <tupadr3/devicons/mysql>
|
||
|
!include <tupadr3/devicons/php>
|
||
|
!include <tupadr3/devicons/go>
|
||
|
!include <tupadr3/font-awesome/users>
|
||
|
!include <tupadr3/font-awesome/database>
|
||
|
|
||
|
Person_Ext(CommunityMember, "Community Member", $sprite="users")
|
||
|
|
||
|
System_Boundary(Signer, "Signer") {
|
||
|
Container(SignerServer, "Signer Server", "Go binary", "Performs certificate signing", $sprite="go")
|
||
|
ContainerDb(SignerDB, "Certificate repository", "Key-Value DB", $sprite="database")
|
||
|
}
|
||
|
|
||
|
System_Boundary(Signer2, "Other Signer") {
|
||
|
Container_Ext(SignerServer2, "Signer Server")
|
||
|
}
|
||
|
|
||
|
System_Boundary(WebDB, "WebDB") {
|
||
|
Container_Ext(WebDBApp, "WebDB application", "PHP", "Provides the user interface for requesting certificates", $sprite="php")
|
||
|
Container_Ext(SignerClient, "Signer Client", "Go binary", "Handle signing request", $sprite="go")
|
||
|
ContainerDb_Ext(DB, "Database", "MySQL/MariaDB", "Hold certificate requests and certificates", $sprite="mysql")
|
||
|
}
|
||
|
|
||
|
Rel(CommunityMember, WebDBApp, "Uses", "https")
|
||
|
Rel(WebDBApp, DB, "Uses")
|
||
|
Rel(SignerClient, DB, "Uses")
|
||
|
Rel_R(SignerClient, SignerServer, "Uses", "Serial binary protocol")
|
||
|
Rel(SignerServer, SignerDB, "Uses")
|
||
|
|
||
|
BiRel_R(SignerServer, SignerServer2, "Synchronize", "TLS")
|
||
|
|
||
|
@enduml
|