From c44bab99ce360d2576ac92d3ca9b7f685388e7f8 Mon Sep 17 00:00:00 2001 From: Ronny Lam Date: Sun, 10 Nov 2024 21:40:58 +0100 Subject: [PATCH] updated after session with Koen --- .../Fediversity-architecture-notes.md | 50 ++++++++++++++++--- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/architecture-docs/Fediversity-architecture-notes.md b/architecture-docs/Fediversity-architecture-notes.md index 4ee9636..f4eb3bb 100644 --- a/architecture-docs/Fediversity-architecture-notes.md +++ b/architecture-docs/Fediversity-architecture-notes.md @@ -1,4 +1,3 @@ - ```mermaid graph TB @@ -7,15 +6,21 @@ Core[Core-services
DNS
Email
identity_management
s subgraph Management - Administration[Administration
monitoring
alerting
graphing
restore_backups
] - Management_UI[Management_UI
human-oriented
administration
replication
migration
] - NixOps[NixOps
orchestration] + A[Nix-panel] --> I + Z[(central database / netbox)]--> B[NixOps] --> D[Proxmox] + B --> E[Nix-configuration] + B --> G[DNS] + B --> F[Email] + B --> J[Garage] + B --> H[IdentityManagement] + I[Nix-Panel API] --> Z + H --> I end subgraph Hardware Systems[Systems
Storage
Networking
Operating-system
Virtualization
] - Storage[Storage
exclusive_filesystem
shared_blob
zfs
] + Storage[Storage
exclusive_filesystem
shared_blob Garage
zfs
] end subgraph Virtualization @@ -29,16 +34,21 @@ end Systems --> Storage Hardware --> Virtualization -Virtualization --> Hardware +Virtualization --> Hardware Services --> Core FediServices --> Core Core --> Hardware Nixos --> Services Nixos --> FediServices -Management_UI --> NixOps -Management_UI --> Administration +F --> Core +G --> Core +J --> Storage +D --> Virtualization +E --> Nixos +H --> Core ``` + * human-centric * easy, automated, replication and migration to different datacenter provider * blob storage replicated generically @@ -53,3 +63,27 @@ Management_UI --> Administration * Dovcot * Zimbra * LXC containers (not Docker-style) +* zfs-snapshots + replicatie (send/receive) +* s3 replicatie naar 3rd party +* locatie-mirorring? (buiten scope?) +* (maar dan Linstore op zfs) + +### Working session: Architecture discussion + +Attendees: Robert, Valentin, Koen, Kevin + +- Robert: NixOps should handle backup creation and restore, since it knows all the details for that + - There will be an interface to plug Nix expressions with scripts that can access all the resources + - Once should be able to build domain-specific applications around that + - Valentin: Backups seem to be morally equivalent to deployments "to a file" +- Koen walked us through myprotagio.nl + - Kevin will share source code with Valentin + - It's a role-based-permission and billing UI wrapping PowerDNS, Postfix Admin, and InvoiceNinja + - Written in Laravel and Tailwind + - To build a UI for deployment we'd primarily need a REST API to a database + - Primary work would be to do the architecture and design + - Valentin: Maybe we could add just the APIs for the deployment workflows from a completely new service, and connect the front-end to that + - Won't have to touch the PHP then + - But for the full integration to work one will have to understand the whole system anyway + - At that point one may as well keep maintaining it or rewrite it + - Koen: The existing thing needs work regardless, and would like to move away from PHP to Python anyway