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