forked from fediversity/meta
		
	updated after session with Koen
This commit is contained in:
		
							parent
							
								
									cd1c411310
								
							
						
					
					
						commit
						ec70ff1022
					
				
					 1 changed files with 42 additions and 8 deletions
				
			
		| 
						 | 
					@ -1,4 +1,3 @@
 | 
				
			||||||
<!-- Note: we're "abusing" the classDiagram for the moment as we sketch this out -->
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
```mermaid
 | 
					```mermaid
 | 
				
			||||||
graph TB
 | 
					graph TB
 | 
				
			||||||
| 
						 | 
					@ -7,15 +6,21 @@ Core[<b>Core-services</b><br/><small>DNS<br/>Email<br/>identity_management<br/>s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
subgraph Management
 | 
					subgraph Management
 | 
				
			||||||
    Administration[<b>Administration</b><br/><small>monitoring<br/>alerting<br/>graphing<br/>restore_backups</small>]
 | 
					    A[Nix-panel] --> I
 | 
				
			||||||
    Management_UI[<b>Management_UI</b><br/><small>human-oriented<br/>administration<br/>replication<br/>migration</small>]
 | 
					    Z[(central database / netbox)]--> B[NixOps] --> D[Proxmox]
 | 
				
			||||||
    NixOps[<b>NixOps</b><br/><small>orchestration</small>]
 | 
					    B --> E[Nix-configuration]
 | 
				
			||||||
 | 
					    B --> G[DNS]
 | 
				
			||||||
 | 
					    B --> F[Email]
 | 
				
			||||||
 | 
					    B --> J[Garage]
 | 
				
			||||||
 | 
					    B --> H[IdentityManagement]
 | 
				
			||||||
 | 
					    I[Nix-Panel API] --> Z
 | 
				
			||||||
 | 
					    H --> I
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
subgraph Hardware
 | 
					subgraph Hardware
 | 
				
			||||||
    Systems[<b>Systems</b><br/><small>Storage<br/>Networking<br/>Operating-system<br/>Virtualization</small>]
 | 
					    Systems[<b>Systems</b><br/><small>Storage<br/>Networking<br/>Operating-system<br/>Virtualization</small>]
 | 
				
			||||||
    Storage[<b>Storage</b><br/><small>exclusive_filesystem<br/>shared_blob<br/>zfs</small>]
 | 
					    Storage[<b>Storage</b><br/><small>exclusive_filesystem<br/>shared_blob Garage<br/>zfs</small>]
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
subgraph Virtualization
 | 
					subgraph Virtualization
 | 
				
			||||||
| 
						 | 
					@ -35,10 +40,15 @@ FediServices --> Core
 | 
				
			||||||
Core --> Hardware
 | 
					Core --> Hardware
 | 
				
			||||||
Nixos --> Services
 | 
					Nixos --> Services
 | 
				
			||||||
Nixos --> FediServices
 | 
					Nixos --> FediServices
 | 
				
			||||||
Management_UI --> NixOps
 | 
					F --> Core
 | 
				
			||||||
Management_UI --> Administration
 | 
					G --> Core
 | 
				
			||||||
 | 
					J --> Storage
 | 
				
			||||||
 | 
					D --> Virtualization
 | 
				
			||||||
 | 
					E --> Nixos
 | 
				
			||||||
 | 
					H --> Core
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* human-centric
 | 
					* human-centric
 | 
				
			||||||
* easy, automated, replication and migration to different datacenter provider
 | 
					* easy, automated, replication and migration to different datacenter provider
 | 
				
			||||||
* blob storage replicated generically
 | 
					* blob storage replicated generically
 | 
				
			||||||
| 
						 | 
					@ -53,3 +63,27 @@ Management_UI --> Administration
 | 
				
			||||||
  * Dovcot
 | 
					  * Dovcot
 | 
				
			||||||
  * Zimbra
 | 
					  * Zimbra
 | 
				
			||||||
* LXC containers (not Docker-style)
 | 
					* LXC containers (not Docker-style)
 | 
				
			||||||
 | 
					* zfs-snapshots + replicatie (send/receive)
 | 
				
			||||||
 | 
					* s3 replicatie naar 3rd party
 | 
				
			||||||
 | 
					* locatie-mirorring? (buiten scope?)
 | 
				
			||||||
 | 
					* (maar dan Linstore op zfs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Working session: Architecture discussion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Attendees: Robert, Valentin, Koen, Kevin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Robert: NixOps should handle backup creation and restore, since it knows all the details for that
 | 
				
			||||||
 | 
					  - There will be an interface to plug Nix expressions with scripts that can access all the resources
 | 
				
			||||||
 | 
					  - Once should be able to build domain-specific applications around that
 | 
				
			||||||
 | 
					  - Valentin: Backups seem to be morally equivalent to deployments "to a file"
 | 
				
			||||||
 | 
					- Koen walked us through myprotagio.nl
 | 
				
			||||||
 | 
					  - Kevin will share source code with Valentin
 | 
				
			||||||
 | 
					  - It's a role-based-permission and billing UI wrapping PowerDNS, Postfix Admin, and InvoiceNinja
 | 
				
			||||||
 | 
					    - Written in Laravel and Tailwind
 | 
				
			||||||
 | 
					  - To build a UI for deployment we'd primarily need a REST API to a database
 | 
				
			||||||
 | 
					    - Primary work would be to do the architecture and design
 | 
				
			||||||
 | 
					  - Valentin: Maybe we could add just the APIs for the deployment workflows from a completely new service, and connect the front-end to that
 | 
				
			||||||
 | 
					    - Won't have to touch the PHP then
 | 
				
			||||||
 | 
					        - 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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue