From 6f8ac9818cd186efb661d6dbc4a91963ff209696 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 2 Dec 2022 13:28:10 +0100 Subject: [PATCH] Update component diagram This commit adds the Framer and Server Protocol components to the component diagram. --- docs/components.puml | 12 +++-- docs/components.svg | 116 ++++++++++++++++++++++++------------------- 2 files changed, 72 insertions(+), 56 deletions(-) diff --git a/docs/components.puml b/docs/components.puml index c325bf9..54c81ec 100644 --- a/docs/components.puml +++ b/docs/components.puml @@ -8,7 +8,9 @@ System_Ext(SignerClient, "Signer client", "Send commands to signer") System_Boundary(Signer, "Signer server") { Boundary(SignerSoftware, "Signer Software") { - Component(SerialHandler, "Serial link handler", "Go", "Reads and writes to the serial interface, parses and creates frames") + Component(SerialHandler, "Serial link handler", "Go", "Reads and writes to the serial interface") + Component(Framer, "Framer", "Go", "Parses and creates frames") + Component(ServerProtocol, "Server protocol", "Go", "Server protocol state machine") Component(ProtocolHandler, "Protocol handler", "Go", "Parses and creates protocol messages") Component(X509SigningHandler, "X.509 signing", "Go", "Handles X.509 certificate signing commands") Component(X509RevocationHandler, "X.509 revocation", "Go", "Handles X.509 certificate revocation commands") @@ -20,7 +22,7 @@ System_Boundary(Signer, "Signer server") { ComponentDb(SignerDB, "Certificate repository", "Go, Embedded Key-Value DB", $sprite="database") } - ContainerQueue(NATS, "NATS Service", "NATS") + ComponentQueue(NATS, "NATS Service", "NATS") } System_Boundary(Signer2, "Other signer") { @@ -29,14 +31,16 @@ System_Boundary(Signer2, "Other signer") { ComponentDb_Ext(SignerDB2, "Certificate repository", "Go, Embedded Key-Value DB", $sprite="database") } - ContainerQueue_Ext(NATS2, "NATS Service", "NATS") + ComponentQueue_Ext(NATS2, "NATS Service", "NATS") } Component_Ext(HSM, "HSM", "PKCS#11", "Hardware security module") Rel(SignerClient, SerialHandler, "Uses", "USB serial link") -Rel(SerialHandler, ProtocolHandler, "Uses") +Rel(SerialHandler, Framer, "Uses") +Rel(SerialHandler, ServerProtocol, "Uses") +Rel(ServerProtocol, ProtocolHandler, "Uses") Rel(ProtocolHandler, X509SigningHandler, "Uses") Rel(ProtocolHandler, X509CRLHandler, "Uses") diff --git a/docs/components.svg b/docs/components.svg index afd2e5a..8bc7dd6 100644 --- a/docs/components.svg +++ b/docs/components.svg @@ -1,46 +1,50 @@ -«boundary»Signer server[System]«boundary»Signer Software«boundary»Other signer[System]«boundary»Signer Software«container»NATS Service[NATS]«component»Serial link handler[Go] Reads and writes to theserial interface, parses andcreates frames«component»Protocol handler[Go] Parses and createsprotocol messages«component»X.509 signing[Go] Handles X.509 certificatesigning commands«component»X.509 revocation[Go] Handles X.509 certificaterevocation commands«component»OpenPGP signing[Go] Handles OpenPGP keysigning commands"«component»X.509 crl[Go] Handles X.509 CRLretrieval commands«component»Health check[Go] Handles health checkcommands«component»HSM access[Go] Handles HSM hardwareaccess«component»Synchronizationhandler[Go] Handles synchronizationwith other signer«component»Certificate repository[Go, Embedded Key-Value DB]«external_container»NATS Service[NATS]«external_component»Synchronizationhandler[Go] Handles synchronizationwith other signer«external_component»Certificate repository[Go, Embedded Key-Value DB]«external_system»Signer client Send commands to signer«external_component»HSM[PKCS#11] Hardware security moduleUses[USB serial link]UsesUsesUsesUsesUsesUsesUsesWritesWritesUsesReadsUsesWritesChecksChecksUsesSynchronize[NATS protocol]Synchronize[NATS/TLS]Synchronize[NATS protocol]UsesUses[PKCS#11]«boundary»Signer server[System]«boundary»Signer Software«boundary»Other signer[System]«boundary»Signer Software«component»NATS Service[NATS]«component»Serial link handler[Go] Reads and writes to theserial interface«component»Framer[Go] Parses and creates frames«component»Server protocol[Go] Server protocol statemachine«component»Protocol handler[Go] Parses and createsprotocol messages«component»X.509 signing[Go] Handles X.509 certificatesigning commands«component»X.509 revocation[Go] Handles X.509 certificaterevocation commands«component»OpenPGP signing[Go] Handles OpenPGP keysigning commands"«component»X.509 crl[Go] Handles X.509 CRLretrieval commands«component»Health check[Go] Handles health checkcommands«component»HSM access[Go] Handles HSM hardwareaccess«component»Synchronizationhandler[Go] Handles synchronizationwith other signer«component»Certificate repository[Go, Embedded Key-Value DB]«external_component»NATS Service[NATS]«external_component»Synchronizationhandler[Go] Handles synchronizationwith other signer«external_component»Certificate repository[Go, Embedded Key-Value DB]«external_system»Signer client Send commands to signer«external_component»HSM[PKCS#11] Hardware security moduleUses[USB serial link]UsesUsesUsesUsesUsesUsesUsesUsesUsesWritesWritesUsesReadsUsesWritesChecksChecksUsesSynchronize[NATS protocol]Synchronize[NATS/TLS]Synchronize[NATS protocol]UsesUses[PKCS#11]