converted to uml and changes after meeting
This commit is contained in:
		
							parent
							
								
									ee7ab9b7ea
								
							
						
					
					
						commit
						89dc0c0eef
					
				
					 6 changed files with 154 additions and 4 deletions
				
			
		
							
								
								
									
										
											BIN
										
									
								
								architecture-docs/Fediversity-architecture-notes-1.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								architecture-docs/Fediversity-architecture-notes-1.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 59 KiB | 
|  | @ -1,9 +1,6 @@ | |||
| ```mermaid | ||||
| graph TB | ||||
| 
 | ||||
| Core[<b>Core-services</b><br/><small>DNS<br/>Email<br/>identity_management<br/>secret_management<br/>authentication<br/>SASL</small>] | ||||
| 
 | ||||
| 
 | ||||
| subgraph Management | ||||
|     A[Nix-panel] --> I | ||||
|     Z[(central database<br/>Netbox)]--> B[Orchestrator<br/>NixOps] --> D[Proxmox] | ||||
|  | @ -11,9 +8,10 @@ subgraph Management | |||
|     B --> G[DNS] | ||||
|     B --> F[Email] | ||||
|     B --> J[Garage] | ||||
|     B --> H[IdentityManagement] | ||||
|     B --> H[<b>IdentityManagement</b><br/><small>Authentication<br/>Authorization<br/>Accounting</small>] | ||||
|     I[Nix-Panel API] --> Z | ||||
|     H --> I | ||||
|     Core[<b>Core-services</b><br/><small>DNS<br/>Email<br/>identity_management<br/>secret_management<br/>authentication<br/>SASL</small>] | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
|  | @ -86,3 +84,16 @@ Attendees: Robert, Valentin, Koen, Kevin | |||
|         - But for the full integration to work one will have to understand the whole system anyway | ||||
|           - At that point one may as well keep maintaining it or rewrite it | ||||
|       - Koen: The existing thing needs work regardless, and would like to move away from PHP to Python anyway | ||||
| 
 | ||||
| ## Architecture meeting | ||||
| - Identitymanagement == AAA | ||||
| - Central database is two databases, one accounting and one state | ||||
| - Datamodel -> dns, aaa, ip, machines, etc. | ||||
| - Data complete first, model later | ||||
| - Data flows/processes | ||||
| - Describe casestories | ||||
| - Nixos -> VM | ||||
| - LinuxOS out of scope | ||||
| - Services and Fediservices one box | ||||
| - move secretsmanagement | ||||
| - move core-services to management | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 463 KiB After Width: | Height: | Size: 74 KiB | 
							
								
								
									
										80
									
								
								architecture-docs/architecture.uml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								architecture-docs/architecture.uml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,80 @@ | |||
| @startuml | ||||
| 
 | ||||
| package Management { | ||||
|     object "Nix-Panel" as A { | ||||
|     } | ||||
|     object "Nix-Panel API" as B { | ||||
|     } | ||||
|     object "**Central Database**" as CD { | ||||
|         Netbox | ||||
|         Accounting | ||||
|         State | ||||
|         Secrets | ||||
|     } | ||||
|     object "**Orchestrator**" as Orch { | ||||
|         NixOps | ||||
|     } | ||||
|     object "**Identity Management**" as AAA { | ||||
|         Authentication | ||||
|         Authorization | ||||
|         Accounting | ||||
|     } | ||||
|     object "**Central Services**" as CS { | ||||
|         DNS | ||||
|         Email | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| package Hardware { | ||||
|     object "**Systems**" as Sys { | ||||
|         Operating System | ||||
|         Network | ||||
|         Storage | ||||
|         Virtualisation | ||||
|     } | ||||
|     object "**Storage**" as Stor { | ||||
|         exclusive_filesystem | ||||
|     } | ||||
|     object "**S3 storage**" as S3 { | ||||
|         Garage | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| package Virtualization { | ||||
|     object "**Nixos VM A**" as NixA { | ||||
|         Application A | ||||
|         Application B | ||||
|     } | ||||
|     object "**Nixos VM B**" as NixB { | ||||
|         Application C | ||||
|     } | ||||
|     map "**Application options**" as App { | ||||
|         Edumeet => Matrix | ||||
|         NextCloud => Pixelfed | ||||
|         Webmail => Peertube | ||||
|         Hedgehoc => Mastodon | ||||
|         Project planning => Owncast | ||||
|         Office => Castopod | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| Sys --> Stor | ||||
| Sys::Virtualisation -l-> Virtualization | ||||
| NixA --> Stor | ||||
| NixB --r--> S3 | ||||
| NixA --> App | ||||
| NixB --> App | ||||
| NixA --> AAA | ||||
| NixB --> AAA | ||||
| A -d-> B | ||||
| B -d-> CD | ||||
| CD <-d-> Orch | ||||
| Orch -r-> CS::DNS | ||||
| Orch -r-> CS::Email | ||||
| Orch -d-> Virtualization | ||||
| Orch --> NixA | ||||
| Orch --> NixB | ||||
| Orch --> S3 | ||||
| Orch <-l-> AAA | ||||
| B -d-> AAA | ||||
| @enduml | ||||
							
								
								
									
										
											BIN
										
									
								
								planning/gantt.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								planning/gantt.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 79 KiB | 
							
								
								
									
										59
									
								
								planning/gantt.uml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								planning/gantt.uml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | |||
| @startgantt | ||||
| 
 | ||||
| <style> | ||||
| ganttDiagram { | ||||
|   task { | ||||
|     BackGroundColor GreenYellow | ||||
|     LineColor Green  | ||||
|   } | ||||
|   undone { | ||||
|     BackGroundColor Yellow | ||||
|   } | ||||
| } | ||||
| </style> | ||||
| 
 | ||||
| Project starts 2023-12-01 | ||||
| projectscale monthly | ||||
| -- WP1 Project Management -- | ||||
| [M1 First ActivityPub presence] starts 2023-12-29 and requires 7 days and is 100% completed | ||||
| [D1.1 Data Management Plan] starts 2023-12-01 and ends 2024-02-29 and is 80% completed | ||||
| [M6 First Tech talk] starts 2024-05-31 and requires 7 days and is 100% completed | ||||
| [M7 First Workshop] starts 2024-07-31 and requires 7 days and is 100% completed | ||||
| 
 | ||||
| -- WP2 Vertical Hosting -- | ||||
| [D2.5 Technical architecture document] starts 2024-01-01 and ends 2024-03-29 and is 60% completed | ||||
| [D2.7 Analyze investment on fediverse] starts 2023-12-01 and ends 2024-04-30 and is colored in Red | ||||
| [D2.6 CI/CD setup] starts 2024-03-01 and ends 2024-10-31 and is colored in Red | ||||
| [D2.4 Nix Packages and NixOS Services] starts 2024-05-01 and ends 2024-11-29 and is colored in Red | ||||
| [D2.1 Software Release test environment] starts 2024-06-28 and ends 2024-11-29 and is colored in Red | ||||
| [D2.2 Software Release beta environment] starts 2025-01-01 and ends 2025-12-31 and is 0% completed | ||||
| [D2.3 Software release 1.0] starts 2025-12-01 and ends 2026-11-30 and is 0% completed | ||||
| 
 | ||||
| -- WP3 Vertical Public organizations -- | ||||
| [D3.1 Requirements document] as [c1] starts 2023-12-01 and ends 2024-07-31 and is colored in Red | ||||
| [D3.2 Pilot program proposals] starts at [c1]'s end and ends 2024-11-29 and is colored in Red | ||||
| [D3.3 Technical architecture document pilot programs] starts 2024-12-02 and ends 2025-05-30 and is 0% completed | ||||
| [D3.4 Nix service flakes, packages and services for pilot programs] starts 2024-12-02 and ends 2025-05-30 and is 0% completed | ||||
| [D3.5 CI/CD setup for pilot programs] starts 2024-12-02 and ends 2025-05-30 and is 0% completed | ||||
| [D3.6 Running Fediverse software for public organisations advisory] starts 2025-05-01 and ends 2026-10-30 and is 0% completed | ||||
| 
 | ||||
| -- WP4 Open calls and grant management -- | ||||
| [M2 Announcement open call] starts 2023-12-29 and requires 7 days and is 100% completed | ||||
| [M3 First open call opens] starts 2024-02-01 and requires 7 days and is 100% completed | ||||
| [M4 First batch of grantees selected] starts 2024-03-29 and requires 7 days and is 0% completed | ||||
| [D4.1 Overview of granted projects] starts 2026-07-01 and ends 2026-11-30 and is 0% completed | ||||
| 
 | ||||
| -- WP5 Enhancement and Usability -- | ||||
| [D5.6 Setup UX design testlab] starts 2023-12-01 and ends 2024-07-31 and is colored in Red | ||||
| [D5.1 User requirement document] starts 2024-05-01 and ends 2024-08-30 and is colored in Red | ||||
| [D5.2 UX design] starts 2024-09-02 and ends 2025-11-28 and is 0% completed | ||||
| [D5.3 UX design implementation] starts 2025-12-01 and ends 2026-05-29 and is 0% completed | ||||
| [D5.4 UX design user studies] starts 2026-05-01 and ends 2026-09-30 and is 0% completed | ||||
| [D5.5 Design iteration and final release] starts 2026-10-01 and ends 2026-11-30 and is 0% completed | ||||
| 
 | ||||
| -- WP6 Outreach and Dissemination -- | ||||
| [D6.1 Communication strategy] starts 2023-12-01 and ends 2024-01-31 and is colored in Red | ||||
| [D6.2 Media package] starts 2024-05-01 and ends 2024-07-31 and is colored in Red | ||||
| [D6.3 Communication report first period] starts 2025-03-03 and ends 2025-04-30 and is 0% completed | ||||
| [D6.4 Communication report second period] starts 2026-09-01 and ends 2026-10-30 and is 0% completed | ||||
| @endgantt | ||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Ronny Lam
						Ronny Lam