diff --git a/architecture-docs/Fediversity-architecture-notes.md b/architecture-docs/Fediversity-architecture-notes.md index 3272b95..edef9c8 100644 --- a/architecture-docs/Fediversity-architecture-notes.md +++ b/architecture-docs/Fediversity-architecture-notes.md @@ -1,91 +1,44 @@ <!-- Note: we're "abusing" the classDiagram for the moment as we sketch this out --> -``` mermaid -classDiagram +```mermaid +graph TB -%% TODO: replace classDiagram +Core[<b>Core-services</b><br><small>DNS<br>Email<br>identity_management<br>secret_management<br>authentication<br>SASL</small>] -Hardware --|> Storage -Hardware --|> Virtualization -Virtualization --|> Nixos -Virtualization --|> LinuxOS -Core_Services <|-- Services -Core_Services <|-- FediServices -Storage <|-- Services -Storage <|-- FediServices -Nixos --|> Services -Nixos --|> FediServices -Management_UI --|> NixOps -Management_UI --|> Administration +Services[<b>Services</b><br><small>NextCloud<br>secure_document_collaboration<br>Forgejo<br>webmail<br>HedgeDoc<br>project_planning</small>] -class Core_Services{ - DNS - EMail - identity_management - secret_management - authentication() - SASL() -} +FediServices[<b>FediServices</b><br><small>Matrix<br>Pixelfed<br>Peertube<br>Mastadon<br>GotoSocial<br>activityPub</small>] -class Services { - NextCloud - secure_document_collaboration - Forgejo - webmail - HedgeDoc - project_planning -} +Administration[<b>Administration</b><br><small>monitoring<br>alerting<br>graphing<br>restore_backups</small>] -class FediServices { - Matrix - Pixelfed - Peertube - Mastadon %%GotoSocial - activityPub() -} +Management_UI[<b>Management_UI</b><br><small>human-oriented<br>administration<br>replication<br>migration</small>] -class Administration { - monitoring - alerting - graphing - restore_backups -} +Storage[<b>Storage</b><br><small>exclusive_filesystem<br>shared_blob<br>zfs</small>] -class Management_UI { - human-oriented administration - replication() - migration() -} +Hardware[<b>Hardware</b><br><small>Storage<br>Networking<br>Operating-system<br>Virtualization</small>] -class Storage { - exclusive_filesystem - shared_blob - zfs() -} +Virtualization[<b>Virtualization</b><br><small>Proxmox</small>] -class Hardware { -Storage -Networking -Operating-system -Virtualization -} +Nixos[<b>Nixos</b><br><small>Application</small>] -class Virtualization { - Proxmox -} +LinuxOS[<b>LinuxOS</b><br><small>Application</small>] -class Nixos { - Application -} +NixOps[<b>NixOps</b><br><small>orchestration</small>] -class LinuxOS { - Application -} - -class NixOps { -orchestration -} +Hardware --> Storage +Hardware --> Virtualization +Virtualization --> Nixos +Virtualization --> LinuxOS +Services --> Core +FediServices --> Core +Services --> Storage +FediServices --> Storage +Nixos --> Services +Nixos --> FediServices +Management_UI --> NixOps +Management_UI --> Administration ``` + * human-centric * easy, automated, replication and migration to different datacenter provider * blob storage replicated generically