meta/architecture-docs/architecture.puml
2024-11-26 11:01:56 +01:00

81 lines
1.4 KiB
Plaintext

@startuml
package Management {
object "Nix-Panel" as A {
}
object "Nix-Panel API" as B {
}
object "**Central Database**" as CD {
Netbox
Accounting
State
Secrets
}
object "**Orchestrator**" as Orch {
NixOps
}
object "**Identity Management**" as AAA {
Authentication
Authorization
Accounting
}
object "**Central Services**" as CS {
DNS
Email
}
}
package Hardware {
object "**Systems**" as Sys {
Operating System
Network
Storage
Virtualisation
}
object "**Storage**" as Stor {
exclusive_filesystem
}
object "**S3 storage**" as S3 {
Garage
}
}
package Virtualization {
object "**Nixos VM A**" as NixA {
Application A
Application B
}
object "**Nixos VM B**" as NixB {
Application C
}
map "**Application options**" as App {
Edumeet => Matrix
NextCloud => Pixelfed
Webmail => Peertube
Hedgehoc => Mastodon
Project planning => Owncast
Office => Castopod
}
}
Sys --> Stor
Sys::Virtualisation -l-> Virtualization
NixA --> Stor
NixB --r--> S3
NixA --> App
NixB --> App
NixA --> AAA
NixB --> AAA
A -d-> B
B -d-> CD
CD <-d-> Orch
Orch -r-> CS::DNS
Orch -r-> CS::Email
Orch -d-> Virtualization
Orch --> NixA
Orch --> NixB
Orch --> S3
Orch <-l-> AAA
B -d-> AAA
@enduml