Skip to content

Commit 673d555

Browse files
committed
docs: enhance architecture diagram
1 parent ab19481 commit 673d555

File tree

2 files changed

+59
-43
lines changed

2 files changed

+59
-43
lines changed

docs/website/root/mithril/mithril-network/architecture-c4.puml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,26 @@ Person(end_user, "End user", "Retrieves and verifies artifacts certified by the
99
Container_Boundary(mithril_aggregator, "Mithril aggregator", $link="https://github.com/input-output-hk/mithril/tree/main/mithril-aggregator") {
1010
Component(mithril_aggregator_logic, "Aggregator logic", "FSM", "Maintains and transitions aggregator's internal states")
1111
Component(mithril_aggregator_cryptographic_engine, "Cryptographic engine", "STM/Asym", "Operates cryptographic primitives")
12+
Component(mithril_aggregator_chain_observer, "Chain observer", "", "Observes the Cardano chain")
1213
Component(mithril_aggregator_http_server, "HTTP server", "REST API", "Serves HTTP requests to signers and clients")
1314
ComponentDb(mithril_aggregator_persistence, "Persistence", "SQLite/FS", "Stores aggregator's data (verification keys, certificates, artifacts)")
1415

1516
Rel(mithril_aggregator_logic, mithril_aggregator_cryptographic_engine, "Computes protocol cryptography")
17+
Rel_U(mithril_aggregator_chain_observer, mithril_aggregator_logic, "Notifies aggregator's logic about chain state changes")
1618
BiRel(mithril_aggregator_logic, mithril_aggregator_persistence, "Accesses aggregator's state")
1719
BiRel(mithril_aggregator_http_server, mithril_aggregator_persistence, "Accesses aggregator's state")
1820
}
1921

2022
Container_Boundary(mithril_signer, "Mithril signer", $link="https://github.com/input-output-hk/mithril/tree/main/mithril-signer") {
2123
Component(mithril_signer_logic, "Signer logic", "FSM", "Maintains and transitions signer's internal states ")
2224
Component(mithril_signer_cryptographic_engine, "Cryptographic engine", "STM/Asym", "Operates cryptographic primitives")
25+
Component(mithril_signer_chain_observer, "Chain observer", "", "Observes the Cardano chain")
2326
Component(mithril_signer_http_client, "HTTP client", "REST API", "Sends HTTP requests to the aggregator via the relay")
2427
ComponentDb(mithril_signer_persistence, "Persistence", "SQLite/FS", "Stores signer's data (signing keys)")
2528

2629
BiRel(mithril_signer_logic, mithril_signer_http_client, "Retrieves aggregator's data")
2730
Rel(mithril_signer_logic, mithril_signer_cryptographic_engine, "Computes protocol cryptography")
31+
Rel_U(mithril_signer_chain_observer, mithril_signer_logic, "Notifies signer's logic about chain state changes")
2832
BiRel(mithril_signer_logic, mithril_signer_persistence, "Accesses signer's state")
2933
}
3034

@@ -47,9 +51,9 @@ Rel(mithril_relay_forward_proxy, mithril_aggregator_http_server, "", "JSON/HTTPS
4751
Rel(mithril_client_http_client, mithril_aggregator_http_server, "", "JSON/HTTPS")
4852

4953
Component(mithril_aggregator_cardano_node, "Cardano node", "N2C/FS", "Cardano full node", $tags="external")
50-
Rel_L(mithril_aggregator_logic, mithril_aggregator_cardano_node, "Retrieves Cardano chain state")
54+
Rel_L(mithril_aggregator_chain_observer, mithril_aggregator_cardano_node, "Retrieves Cardano chain state")
5155
Component(mithril_signer_cardano_node, "Cardano node", "N2C/FS", "Cardano block-producing node", $tags="external")
52-
Rel_R(mithril_signer_logic, mithril_signer_cardano_node, "Retrieves Cardano chain state and KES signing keys")
56+
Rel_D(mithril_signer_chain_observer, mithril_signer_cardano_node, "Retrieves Cardano chain state and KES signing keys")
5357
BiRel(mithril_signer_cardano_node, mithril_aggregator_cardano_node, "N2N protocol")
5458

5559
Component(mithril_artifact_storage, "Artifact storage", "Cloud", "Cloud file storage", $tags="external")

0 commit comments

Comments
 (0)