Merge pull request 'add diagrams' (#30) from entity-relations into main
Reviewed-on: Fediversity/meta#30 Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
This commit is contained in:
		
						commit
						76eafa45ca
					
				
					 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 | @startuml | ||||||
|  | skinparam backgroundcolor transparent | ||||||
| 
 | 
 | ||||||
| package Management { | package Management { | ||||||
|     object "Nix-Panel" as A { |     object "Nix-Panel" as A { | ||||||
|  | @ -12,7 +13,7 @@ package Management { | ||||||
|         Secrets |         Secrets | ||||||
|     } |     } | ||||||
|     object "**Orchestrator**" as Orch { |     object "**Orchestrator**" as Orch { | ||||||
|         NixOps |         Terraform | ||||||
|     } |     } | ||||||
|     object "**Identity Management**" as AAA { |     object "**Identity Management**" as AAA { | ||||||
|         Authentication |         Authentication | ||||||
|  | @ -49,12 +50,10 @@ package Virtualization { | ||||||
|         Application C |         Application C | ||||||
|     } |     } | ||||||
|     map "**Application options**" as App { |     map "**Application options**" as App { | ||||||
|         Edumeet => Matrix |         Vaultwarden => Matrix | ||||||
|         NextCloud => Pixelfed |         NextCloud => Pixelfed | ||||||
|         Webmail => Peertube |         Webmail => Peertube | ||||||
|         Hedgehoc => Mastodon |         Forgejo => Mastodon | ||||||
|         Project planning => Owncast |  | ||||||
|         Office => Castopod |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
							
								
								
									
										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