forked from fediversity/meta
		
	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:
		
							parent
							
								
									5a23ba4d4e
								
							
						
					
					
						commit
						f79e3a1492
					
				
					 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