From ea93b7360d64dbb455a0d8bc40429c782ce7fb06 Mon Sep 17 00:00:00 2001 From: Stephan Lo Date: Sun, 29 Jun 2025 16:50:05 +0200 Subject: [PATCH] doc(infra): added more visualiztion to DevFW/forgejo-pm#30 --- .../decisions/environment-hierarchy.md | 2 + .../architecture/decisions/environments.png | Bin 0 -> 68913 bytes .../architecture/decisions/environments.puml | 42 ++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 docs/technical-documentation/architecture/decisions/environments.png create mode 100644 docs/technical-documentation/architecture/decisions/environments.puml diff --git a/docs/technical-documentation/architecture/decisions/environment-hierarchy.md b/docs/technical-documentation/architecture/decisions/environment-hierarchy.md index 929c8e0..b223b49 100644 --- a/docs/technical-documentation/architecture/decisions/environment-hierarchy.md +++ b/docs/technical-documentation/architecture/decisions/environment-hierarchy.md @@ -47,3 +47,5 @@ environments ├── edp └── observability ``` + +![alt text](environments.png) \ No newline at end of file diff --git a/docs/technical-documentation/architecture/decisions/environments.png b/docs/technical-documentation/architecture/decisions/environments.png new file mode 100644 index 0000000000000000000000000000000000000000..85382db0e79a31be68d74bc251538028519fb861 GIT binary patch literal 68913 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®yJvlz28L=$cD2$ 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 literal 0 HcmV?d00001 diff --git a/docs/technical-documentation/architecture/decisions/environments.puml b/docs/technical-documentation/architecture/decisions/environments.puml new file mode 100644 index 0000000..2710794 --- /dev/null +++ b/docs/technical-documentation/architecture/decisions/environments.puml @@ -0,0 +1,42 @@ +@startuml +!includeurl https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml + +LAYOUT_WITH_LEGEND() + +Person(dev, "Developer") + +System_Boundary(env, "environments") { + + System_Boundary(kind, "provider:kind") { + System_Boundary(kind_np, "platformzone:non-prod (vm-1 / local)") { + System(edp_kind, "edp") + System(obs_kind, "observability") + } + } + + System_Boundary(otc, "provider:otc") { + System_Boundary(otc_np, "platformzone:non-prod (tenant-1)") { + System(edp_otc_np, "central-forgejo-aka-edp") + System(forgejo_dev, "forgejo-dev") + System(obs_otc_np, "observability") + } + + System_Boundary(otc_prod, "platformzone:prod (tenant-2)") { + System(edp_otc_p, "edp") + System(obs_otc_p, "observability") + } + } + + System_Boundary(scaleway, "provider:scaleway") { + System_Boundary(scaleway_np, "platformzone:non-prod (account-1)") { + ' leer + } + + System_Boundary(scaleway_p, "platformzone:prod (account-2)") { + System(edp_scaleway_p, "edp") + System(obs_scaleway_p, "observability") + } + } +} + +@enduml