add diagrams #30
8 changed files with 81 additions and 5 deletions
3
architecture-docs/.gitignore
vendored
Normal file
3
architecture-docs/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
*.err
|
||||
*.odt
|
||||
.~lock*
|
Binary file not shown.
Before Width: | Height: | Size: 72 KiB |
25
architecture-docs/entity-relations.mmd
Normal file
25
architecture-docs/entity-relations.mmd
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
title: Fediversity migration entity relations
|
||||
---
|
||||
erDiagram
|
||||
setup["Fediversity setup"]
|
||||
env["run-time environment"]
|
||||
deployed["deployed configuration"]
|
||||
staged["staged configuration"]
|
||||
token["deployment token"]
|
||||
script["migration script"]
|
||||
|
||||
setup }o--o{ env : offers
|
||||
setup ||--o{ operator : serves
|
||||
operator ||--o{ domain : owns
|
||||
deployment }|--|| domain : uses
|
||||
operator ||--o{ deployment : has
|
||||
deployment ||--|{ token : generates
|
||||
deployment ||--o| deployed : has
|
||||
deployment ||--|| staged : has
|
||||
deployed |o--|| staged : compares
|
||||
deployed ||--|{ application : describes
|
||||
application ||--o{ version : follows
|
||||
application ||--o{ script : runs
|
||||
deployed }|--o{ version : follows
|
||||
script }o--|| token : uses
|
1
architecture-docs/entity-relations.svg
Normal file
1
architecture-docs/entity-relations.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 16 KiB |
BIN
architecture-docs/host-architecture.png
Normal file
BIN
architecture-docs/host-architecture.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 73 KiB |
|
@ -1,4 +1,5 @@
|
|||
@startuml
|
||||
skinparam backgroundcolor transparent
|
||||
|
||||
package Management {
|
||||
object "Nix-Panel" as A {
|
||||
|
@ -12,7 +13,7 @@ package Management {
|
|||
Secrets
|
||||
}
|
||||
object "**Orchestrator**" as Orch {
|
||||
NixOps
|
||||
Terraform
|
||||
}
|
||||
object "**Identity Management**" as AAA {
|
||||
Authentication
|
||||
|
@ -49,12 +50,10 @@ package Virtualization {
|
|||
Application C
|
||||
}
|
||||
map "**Application options**" as App {
|
||||
Edumeet => Matrix
|
||||
Vaultwarden => Matrix
|
||||
NextCloud => Pixelfed
|
||||
Webmail => Peertube
|
||||
Hedgehoc => Mastodon
|
||||
Project planning => Owncast
|
||||
Office => Castopod
|
||||
Forgejo => Mastodon
|
||||
}
|
||||
}
|
||||
|
47
architecture-docs/interactions.mmd
Normal file
47
architecture-docs/interactions.mmd
Normal file
|
@ -0,0 +1,47 @@
|
|||
flowchart
|
||||
|
||||
user(user) --> |use| deployment
|
||||
|
||||
configuration1 -->|deploy| deployed1
|
||||
devs(developers) --> |maintain| fediversity
|
||||
|
||||
fediversity --> |update| provider1
|
||||
subgraph provider1["fediversity setup A"]
|
||||
subgraph configurations1[configurations]
|
||||
configuration1[staged configuration]
|
||||
configuration1 --> |update| configuration1
|
||||
deployed1[deployed configuration]
|
||||
end
|
||||
deployed1 --> |describe| deployment
|
||||
provider-config[runtime config] --> |describe| host
|
||||
provider-config --> |implement runtime interfaces| configurations1
|
||||
subgraph host[runtime environment]
|
||||
deployment[applications]
|
||||
state
|
||||
end
|
||||
end
|
||||
|
||||
deployment --> |store| state
|
||||
|
||||
operator(operator) --> |change| configuration1
|
||||
|
||||
subgraph provider2["fediversity setup B"]
|
||||
subgraph configurations2[configurations]
|
||||
configuration2[staged configuration]
|
||||
deployed2[deployed configuration]
|
||||
end
|
||||
subgraph host2[runtime environment]
|
||||
deployment2[applications]
|
||||
state2[state]
|
||||
end
|
||||
end
|
||||
|
||||
operator --> |trigger| migration
|
||||
configurations1 & state --> migration
|
||||
migration --> configurations2 & state2
|
||||
provider(hosting provider) --> |maintain| provider1
|
||||
subgraph fediversity[fediversity source code]
|
||||
applications[application modules]
|
||||
backends[runtime backends]
|
||||
config[runtime options]
|
||||
end
|
1
architecture-docs/interactions.svg
Normal file
1
architecture-docs/interactions.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 32 KiB |
Loading…
Add table
Reference in a new issue