update application offering following #369
c.f. Fediversity/Fediversity#369
This commit is contained in:
		
							parent
							
								
									e0bb8adabe
								
							
						
					
					
						commit
						d233e9204f
					
				
					 1 changed files with 14 additions and 28 deletions
				
			
		|  | @ -72,38 +72,24 @@ Tests will concisely describe the abilities the Fediversity system provides. | |||
| these tests can be run on any sufficiently powerful machine with Nix installed, and reliably validate that the use cases work as intended. | ||||
| The proposed work is realistically achievable. | ||||
| 
 | ||||
| ## Identified applications | ||||
| ## Applications | ||||
| 
 | ||||
| As the initial application to be supported, we have selected [Forgejo](https://forgejo.org/), given it: | ||||
| To demonstrate our functionality, we integrate our work with NGI Zero project [SelfHostBlocks](https://github.com/ibizaman/selfhostblocks), which offers the interfaces for applications to indicate their needs, for our purpose of data portability notably including back-up and restore, and is in the process of [preparing an RFC](https://discourse.nixos.org/t/pre-rfc-decouple-services-using-structured-typing/58257) to get these practices upstreamed to nixpkgs. | ||||
| 
 | ||||
| 1. is supported in [SelfHostBlocks](https://github.com/ibizaman/selfhostblocks), facilitating implementation | ||||
| 1. is part of our own infrastructure, allowing us to bootstrap | ||||
| 1. given the above, makes our development team self-sufficient for the purpose of its initial user feedback cycle | ||||
| 1. relevant features are merged upstream | ||||
| 1. uses a language featuring static typing, offering it a baseline level of robustness | ||||
| At the time of writing, applications it supports include: | ||||
| 
 | ||||
| Our consideration to limit the initially supported applications is to keep focus on our core innovation, as properly adding support for applications may involve: | ||||
| - [Arr](https://wiki.servarr.com/) | ||||
| - [Audiobookshelf](https://www.audiobookshelf.org/) | ||||
| - [Deluge](https://deluge-torrent.org/) | ||||
| - [Forgejo](https://forgejo.org/) | ||||
| - [Grocy](https://grocy.info/) | ||||
| - [Hledger](https://hledger.org/) | ||||
| - [Home Assistant](https://www.home-assistant.io/) | ||||
| - [Jellyfin](https://jellyfin.org/) | ||||
| - [Nextcloud](https://nextcloud.com/) | ||||
| - [Vaultwarden](https://github.com/dani-garcia/vaultwarden) | ||||
| 
 | ||||
| - PoC: | ||||
|     - compartmentalising state for backups/portability/redundancy | ||||
|     - migration actions such as rewrites of connections/URLs | ||||
|     - integration with single sign-on and LDAP for user management (or as a stop-gap, provisioning of initial user) | ||||
| - MVP: | ||||
|     - handling application upgrades | ||||
|     - creating schemas of (identified relevant) settings | ||||
|     - documentation | ||||
|     - hardening | ||||
| - post-MVP: | ||||
|     - handling backward-incompatible setting interface changes | ||||
|     - coordinating with end-users to improve the user experience | ||||
| - if missing first-class Nix support: | ||||
|     - packaging for Nix | ||||
|     - creating NixOS service module | ||||
|     - integrating with identified contracts (see SelfHostBlocks) | ||||
|     - maintaining the above on version updates | ||||
|     - coordinating with upstream developers on immutable-friendly development | ||||
| 
 | ||||
| The result of the work in the hosting vertical should be generic enough to support all NGI packages sufficiently documented and packaged in NixOS. | ||||
| The result of the work should be generic enough to support any NGI packages implementing such interfaces. | ||||
| 
 | ||||
| ## Methodology challenges | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue