From 759a7bbcfed20719bed78a18e928c7d4562408bf Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Thu, 18 Dec 2025 19:22:50 -0700 Subject: [PATCH] submission: Convert plantuml flow diagram to mermaid --- .github/actions/spelling/expect.txt | 4 --- assets/plantuml/README.md | 30 -------------------- assets/plantuml/submission_flow.puml | 27 ------------------ docs/core/config/images/submission_flow.svg | 1 - docs/core/config/include/submission_flow.inc | 25 ++++++++++++++++ docs/core/config/submission.md | 2 +- 6 files changed, 26 insertions(+), 63 deletions(-) delete mode 100644 assets/plantuml/README.md delete mode 100644 assets/plantuml/submission_flow.puml delete mode 100644 docs/core/config/images/submission_flow.svg create mode 100644 docs/core/config/include/submission_flow.inc diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 2ad17e9ee..0cfb20ebf 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -605,7 +605,6 @@ pidof pids Piljk pki -plantuml popafter postconf postfixadmin @@ -632,7 +631,6 @@ proctitle proofpoint proxymap pubout -puml putscript pvo pwcheck @@ -827,7 +825,6 @@ toolarge transitioning Troost tscript -tsvg TTLs tuxfamily typedef @@ -841,7 +838,6 @@ UIDPLUS uids uidv uidvalidity -UML unaccessed unaliased unauth diff --git a/assets/plantuml/README.md b/assets/plantuml/README.md deleted file mode 100644 index de954ee6b..000000000 --- a/assets/plantuml/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# PlantUML Data - -This directory contains PlantUML files that are used to create diagrams for -the documentation. - -## Docker - -[PlantUML](https://plantuml.com/) files are converted to SVG by using a Java -program. - -It is easiest to run the program by using a pre-configured Docker container. - -The output command is as follows: - -``` -docker run --rm -v /path/to/your/puml/files:/data \ - -v /path/to/your/output/directory:/output plantuml/plantuml \ - -tsvg /data/your_diagram.puml \ - -o /output -``` - -For example, if running from this directory to convert foo.puml, and storing -the SVG file in the "docs/core/images" directory (so it can be referenced via -Markdown from within VitePress), run: - -``` -mkdir -p ../../docs/core/images -docker run --rm -v ./:/data -v ../../docs/core/images:/output \ - plantuml/plantuml -tsvg /data/foo.puml -o /output -``` diff --git a/assets/plantuml/submission_flow.puml b/assets/plantuml/submission_flow.puml deleted file mode 100644 index aef279147..000000000 --- a/assets/plantuml/submission_flow.puml +++ /dev/null @@ -1,27 +0,0 @@ -@startuml -top to bottom direction - -actor MUA [ - MUA (Mail Client) -] - -package "DOVECOT" { - usecase "submission-login\n(Handles TLS & Auth)" as SubLogin - component "Dovecot Auth" as Auth - usecase "submission\n(Validates SMTP; proxies mail)" as Submission - database "Mail Storage" as Storage -} - -node "Backend MTA\n(e.g., Postfix/Exim)" as MTA - -cloud "Remote Delivery" as Net - -' Define the connections based on the flow -MUA -down-> SubLogin : " Connect (SMTP: Port 465/587)" -SubLogin -down-> Auth -Auth -down-> Submission -Submission ..> Storage : "(Optional) Handles BURL" -Submission -down-> MTA : "Relays message (SMTP)" -MTA -down-> Net - -@enduml diff --git a/docs/core/config/images/submission_flow.svg b/docs/core/config/images/submission_flow.svg deleted file mode 100644 index 5a5a04fa9..000000000 --- a/docs/core/config/images/submission_flow.svg +++ /dev/null @@ -1 +0,0 @@ -DOVECOTsubmission-login(Handles TLS & Auth)Dovecot Authsubmission(Validates SMTP; proxies mail)Mail StorageMUA (Mail Client)Backend MTA(e.g., Postfix/Exim)Remote DeliveryConnect (SMTP: Port 465/587)(Optional) Handles BURLRelays message (SMTP) \ No newline at end of file diff --git a/docs/core/config/include/submission_flow.inc b/docs/core/config/include/submission_flow.inc new file mode 100644 index 000000000..021fea650 --- /dev/null +++ b/docs/core/config/include/submission_flow.inc @@ -0,0 +1,25 @@ +```mermaid +flowchart LR + %% Nodes + MUA([MUA
Mail Client]) + + %% Grouping (Package) + subgraph DOVECOT + direction TB + SubLogin(submission-login
Handles TLS & Auth) + Auth[Dovecot Auth] + Submission(submission
Validates SMTP; proxies mail) + Storage[(Mail Storage)] + end + + MTA[Backend MTA
e.g., Postfix/Exim] + Net((Remote Delivery)) + + %% Connections + MUA -->|Connect SMTP: Port 465/587| SubLogin + SubLogin --> Auth + Auth --> Submission + Submission -.->|Optional Handles BURL| Storage + Submission -->|Relays message SMTP| MTA + MTA --> Net +``` diff --git a/docs/core/config/submission.md b/docs/core/config/submission.md index ec6637016..f8d226557 100644 --- a/docs/core/config/submission.md +++ b/docs/core/config/submission.md @@ -84,7 +84,7 @@ service: ## Flow Diagram -![Submission Flow Diagram](/docs/core/config/images/submission_flow.svg) + ## Configuration