First draft in Mermaid, Co-authored-by: Eric Herman <eric@commonscaretakers.com>
This commit is contained in:
parent
bd7334b1ac
commit
6a92fa8ca6
102
architecture-docs/Fediversity-architecture-notes.md
Normal file
102
architecture-docs/Fediversity-architecture-notes.md
Normal 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)
|
Loading…
Reference in a new issue