tweak project proposal #1
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
|
||||
## Application support
|
||||
|
||||
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