First draft in Mermaid, Co-authored-by: Eric Herman <eric@commonscaretakers.com>

This commit is contained in:
Ronny Lam 2024-10-24 15:26:44 +02:00
parent bd7334b1ac
commit 6a92fa8ca6

View file

@ -0,0 +1,102 @@
<!-- Note: we're "abusing" the classDiagram for the moment as we sketch this out -->
``` mermaid
classDiagram
%% TODO: replace classDiagram
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
class Core_Services{
DNS
EMail
identity_management
secret_management
authentication()
SASL()
}
class Services {
NextCloud
secure_document_collaboration
Forgejo
webmail
HedgeDoc
project_planning
}
class FediServices {
Matrix
Pixelfed
Peertube
Mastadon %%GotoSocial
activityPub()
}
class Administration {
monitoring
alerting
graphing
restore_backups
}
class Management_UI {
human-oriented administration
replication()
migration()
}
class Storage {
exclusive_filesystem
shared_blob
zfs()
}
class Hardware {
Storage
Networking
Operating-system
Virtualization
}
class Virtualization {
Proxmox
}
class Nixos {
Application
}
class LinuxOS {
Application
}
class NixOps {
orchestration
}
```
* human-centric
* easy, automated, replication and migration to different datacenter provider
* blob storage replicated generically
* files on the exclusive filesystems replicated via application-aware process, e.g.:
* asynchronous, but "live" database replication
* shutdown app then rsync directories
* ZFS replication and snapshot-ing
* Strengths, Weaknesses, Opportunities, and Threats awareness for all apps
* Not everything needs to start on Nix, NixOs, or with NixOps
* Do not use "Open Core"
* GitLab
* Dovcot
* Zimbra
* LXC containers (not Docker-style)