diff --git a/README.md b/README.md index db22656..2def542 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,80 @@ _Containerized web application for managing public pages of Git repositories within a single Gitea instance._ ```plantuml -Alice -> Bob: Authentication Request -Bob --> Alice: Authentication Response +@startuml +footer "Gitea Pages Deployment" -Alice -> Bob: Another authentication Request -Alice <-- Bob: Another authentication Response +actor "User" as user + +rectangle "DNS" as dns { + agent "*.dgpkg.net" as wildcard + agent "dgpkg.net" as domain +} + +cloud "Cloudflare" as cloudflare + +user <--> wildcard +user <--> domain + +wildcard <..> cloudflare +domain <..> cloudflare + +rectangle "Gitea Pages" { + node "Nginx" as nginx + database "DB" as db + node "Adminer" as adminer + queue "RabbitMQ" as rabbitmq + + node "git.dergrimm.net/gitea_pages_backend" { + node "Migration Runner" as migration_runner + node "Worker" as worker + node "Beat" as beat + node "API" as api + } + + rectangle "git.dergrimm.net/gitea_pages_frontend" { + node frontend + } + + rectangle "Storage" { + storage "nginx-config" as storage_nginx_config + storage "db" as storage_db + storage "rabbitmq" as storage_rabbitmq + storage "repos" as storage_repos + } + + db <..> storage_db + + adminer <--> db + migration_runner --> db + api <--> db + worker <--> db + + rabbitmq <..> storage_rabbitmq + + beat --> rabbitmq + worker <--> rabbitmq + + card "Depends On" as depends_on_migration_runner + + api ~~ depends_on_migration_runner + beat ~~ depends_on_migration_runner + api ~~ depends_on_migration_runner + depends_on_migration_runner ..> migration_runner + + worker ..> storage_nginx_config +} + +cloudflare ..> nginx + +nginx <--> adminer +nginx <--> rabbitmq +nginx <--> api +nginx <--> frontend + +nginx <.. storage_repos : "Public pages" +nginx <.. storage_nginx_config : "Gets domain config" +@enduml ``` + +_I really don't like this diagram at all_