forked from fediversity/meta
		
	add high-level spec
This commit is contained in:
		
							parent
							
								
									0ff5a8affe
								
							
						
					
					
						commit
						a6209f056c
					
				
					 1 changed files with 49 additions and 0 deletions
				
			
		
							
								
								
									
										49
									
								
								architecture-docs/2025-04-08-high-level-spec.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								architecture-docs/2025-04-08-high-level-spec.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,49 @@ | |||
| # fediversity product specification | ||||
| 
 | ||||
| ## stack | ||||
| 
 | ||||
| ### user-facing | ||||
| 
 | ||||
| - fediverse | ||||
| - ... | ||||
| - prioritize efforts taking in mind | ||||
|   - added value to operator autonomy | ||||
|   - strategic relevance to counter-balance big tech | ||||
|   - demand | ||||
|   - nix package/service maturity | ||||
|     - may involve relation with application devs to: | ||||
|       - [upstream](https://git.fediversity.eu/Fediversity/Fediversity/issues/127#issuecomment-5669) nix package | ||||
|       - ensure architecture takes immutable build/storage in mind | ||||
| 
 | ||||
| ### under the hood | ||||
| 
 | ||||
| - nixos | ||||
| - [opentofu](https://opentofu.org/) | ||||
|   - passes relevant info on to nixos config wrapper | ||||
| - VM hypervisor: [proxmox](https://proxmox.com/) | ||||
| - storage: [garage](https://garagehq.deuxfleurs.fr/) | ||||
| - backups / data portability: [borgmatic](https://github.com/borgmatic-collective/borgmatic)? | ||||
| - data interoperability: [json-schema](https://json-schema.org/) | ||||
| 
 | ||||
| ## component architecture | ||||
| 
 | ||||
| - orchestration module | ||||
|   - application service modules (nixos): templates providing sane defaults and [unified interface](https://nlnet.nl/project/SelfHostBlocks/) | ||||
|   - deployment module (opentofu) | ||||
| - deployment UIs | ||||
|   - [reference imlementation](https://git.fediversity.eu/Fediversity/Fediversity) | ||||
|   - hosting panel: [fediversity integration](https://www.figma.com/proto/AZbFAac2Xjxs3q1H3orXzO/Fedi-Design-system?page-id=97%3A1682&node-id=97-2284) TODO | ||||
|     - [front](https://git.fediversity.eu/Fediversity/protagio.nl-frontend) | ||||
|     - back | ||||
|       - [existing](https://git.fediversity.eu/Fediversity/myprotagio-api) | ||||
|       - rewrite? | ||||
|   - allow for alternate setups | ||||
|     - e.g. client doing orchestration | ||||
| - [infra](https://git.fediversity.eu/Fediversity/meta/media/branch/main/architecture-docs/architecture.png) | ||||
| 
 | ||||
| ### feature-specific architectural notes | ||||
| 
 | ||||
| - [decouple version](https://git.fediversity.eu/Fediversity/Fediversity/issues/304) | ||||
| - [validate component input](https://git.fediversity.eu/Fediversity/Fediversity/issues/195) | ||||
| - [migrate to different host](https://git.fediversity.eu/Fediversity/Fediversity/issues/100) (+ sub-tickets) | ||||
| - [breaking changes](https://git.fediversity.eu/Fediversity/Fediversity/issues/214) | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Kiara Grouwstra
						Kiara Grouwstra