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