sketch roadmap to an MVP demo

- goal as set by Bjorn on 2024-01-20
- proposal with input from Koen on 2025-01-22
This commit is contained in:
Valentin Gagarin 2025-01-22 11:42:17 +01:00
parent 27f1d6119d
commit 0edb62611b

View file

@ -0,0 +1,54 @@
# Target: Demo at Fediforum online conference 2025-04-01
Goal: Demo Fediversity and make this demo available for download for others to use.
Focus on 1 or 2 Fediverse applications that can be 'automagically' installed aka a minimal viable product.
To determine:
- What are the minimal requirements to make this happen?
- What components are needed?
- Which Fediverse services are we going to offer?
- There are ~47 (~9weeks) workdays between 27-01-2025 and 01-04-2025. How will we divide the work among the team?
# Roadmap
* As a first measure, set up a new site with a simple email form: "set up your Fediverse services"
* Initial form fields:
* text field: subdomain to use under e.g. <code>demo.fediversity.eu</code>
* multi-select: services to deploy (start with one or two)
* text fields: ssh public keys
* freeform: additional requests
* Simply send an email to the project team for manual processing
* Figure out the rest as we go, automate time-consuming repetitive tasks incrementally
* Systematically keep procedural notes from which we can later derive code
* Split test environment into staging and production deployment
* Start preparing a Django service ([as discussed 2024-11-06](../meeting-notes/2024-11-06%20standup%20notes.md#working-session-architecture-discussion)) that will eventually replace the manually processed form
* It will take about a work week to make the development cycle smooth (maybe 2 weeks on the wall clock), enough to refine the initial data model
* It could trigger NixOps4 asynchronously on form submission
* Requires figuring out the exact interaction model on the backend. Especially how deployment state gets stored, retrieved, and updated
* Requires a Passbolt provider for dynamic secrets ([as discussed regarding secrets handling 2024-12-10](meeting-notes/2024-12-10-decision-making-meeting-dealing-with-secrets.md))
* We probably don't want to mess with Git-backed storage there
* Requires a proper deployment provider
* Terraform is currently planned
* For single NixOS machines something more robust than a shellscript would already be nice, but that would require talking to Proxmox via API anyway
* Rebrand MyProtagio to Fediversity
* It currently interfaces with an intermediate registrar, need to remove that
* Demo users could register an actual domain using a voucher token
* Interfacing with MyProtagio for leveraging its DNS setup capabilities may need more time to study the code
* Wed ideally co-deploy an instance with the other front-end to enable smooth CI/CD; though thats more up-front work
* MyProtagio doesn't have metering or billing yet
* If we hand out exactly one credit, it would include one domain name and some bulk service package for some period of time
# TODO
* Division of labor
* Tweag can do the domain-specific data types and transformations, as well as the the backend wiring
* Ronny asked to get involved in the domain modeling
* Waiting for Koen to contact their UI expert
* Robert needed for NixOps4 providers
* Selection of initial services
* Also have to resolve friction around versions being up to date in Nixpkgs
# Next steps
* Define detailed scope, integration points, schedule