meta/2024-01-mvp-demo-roadmap.md
Valentin Gagarin f79e3a1492 sketch roadmap to an MVP demo
- goal as set by Bjorn on 2024-01-20
- proposal with input from Koen on 2025-01-22
2025-01-27 10:13:42 +01:00

3.2 KiB
Raw Blame History

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. demo.fediversity.eu
  • 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) 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)
  • 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