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.
|
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.
|
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
|
At the time of writing, applications it supports include:
|
||||||
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
|
|
||||||
|
|
||||||
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:
|
The result of the work should be generic enough to support any NGI packages implementing such interfaces.
|
||||||
- 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.
|
|
||||||
|
|
||||||
## Methodology challenges
|
## Methodology challenges
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue