103 lines
1.8 KiB
Markdown
103 lines
1.8 KiB
Markdown
|
<!-- 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)
|