Compare commits
	
		
			2 commits
		
	
	
		
			5b8f906bfb
			...
			bcc117cafb
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
							 | 
						bcc117cafb | ||
| 
							 | 
						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
 | 
					```mermaid
 | 
				
			||||||
graph TB
 | 
					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
 | 
					subgraph Management
 | 
				
			||||||
    A[Nix-panel] --> I
 | 
					    A[Nix-panel] --> I
 | 
				
			||||||
    Z[(central database<br/>Netbox)]--> B[Orchestrator<br/>NixOps] --> D[Proxmox]
 | 
					    Z[(central database<br/>Netbox)]--> B[Orchestrator<br/>NixOps] --> D[Proxmox]
 | 
				
			||||||
| 
						 | 
					@ -11,9 +8,10 @@ subgraph Management
 | 
				
			||||||
    B --> G[DNS]
 | 
					    B --> G[DNS]
 | 
				
			||||||
    B --> F[Email]
 | 
					    B --> F[Email]
 | 
				
			||||||
    B --> J[Garage]
 | 
					    B --> J[Garage]
 | 
				
			||||||
    B --> H[IdentityManagement]
 | 
					    B --> H[<b>IdentityManagement</b><br/><small>Authentication<br/>Authorization<br/>Accounting</small>]
 | 
				
			||||||
    I[Nix-Panel API] --> Z
 | 
					    I[Nix-Panel API] --> Z
 | 
				
			||||||
    H --> I
 | 
					    H --> I
 | 
				
			||||||
 | 
					    Core[<b>Core-services</b><br/><small>DNS<br/>Email<br/>identity_management<br/>secret_management<br/>authentication<br/>SASL</small>]
 | 
				
			||||||
end
 | 
					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
 | 
					        - 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
 | 
					          - 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
 | 
					      - 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