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