sketch roadmap to an MVP demo #24
					 1 changed files with 54 additions and 0 deletions
				
			
		
							
								
								
									
										54
									
								
								2024-01-mvp-demo-roadmap.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								2024-01-mvp-demo-roadmap.md
									
										
									
									
									
										Normal 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 | ||||
|   * We’d ideally co-deploy an instance with the other front-end to enable smooth CI/CD; though that’s 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 | ||||
		Loading…
	
	Add table
		
		Reference in a new issue