tweak project proposal #1
					 1 changed files with 9 additions and 19 deletions
				
			
		| 
						 | 
					@ -58,32 +58,22 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  Move service configurations and deployments (including user data) from one hosting provider to another.
 | 
					  Move service configurations and deployments (including user data) from one hosting provider to another.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Runtime backend
 | 
					- Run-time backend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  A type of digital environment one can run operating systems such as NixOS on, e.g. bare-metal, a hypervisor, or a container runtime.
 | 
					  A type of digital environment one can run operating systems such as NixOS on, e.g. bare-metal, a hypervisor, or a container run-time.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Runtime environment
 | 
					- Provider
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  The thing a deployment runs on, an interface against which the deployment is working. See runtime backend.
 | 
					  An interface against which we deploy to a run-time backend.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Runtime configuration
 | 
					- Provider configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  A specification for mapping components of a configuration to the runtime environment, e.g. which services to deploy to which virtual machines, or how to access object storage.
 | 
					  A configuration that specifies resources made available to deploy to and how to access these.
 | 
				
			||||||
 | 
					 | 
				
			||||||
- [NixOps4](https://nixops.dev)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  A tool to interact with mutable external resources based on declarations in the [Nix language](https://nix.dev/manual/nix/latest/language/).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Resource
 | 
					- Resource
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  A [resource for NixOps4](https://nixops.dev/manual/development/concept/resource.html) is any external entity that can be declared with NixOps4 expressions and manipulated with NixOps4, such as a virtual machine, an active NixOS configuration, a DNS entry, or customer database.
 | 
					  A resource is any external entity that we need for our set-up
 | 
				
			||||||
 | 
					  This may include e.g. hypervisors, file systems, DNS entries, VMs or object storage instances.
 | 
				
			||||||
- Resource provider
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  A resource provider for NixOps4 is an executable that communicates between a resource and NixOps4 using a standardised protocol, allowing [CRUD operations](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) on the resources to be performed by NixOps4.
 | 
					 | 
				
			||||||
  Refer to the [NixOps4 manual](https://nixops.dev/manual/development/resource-provider/index.html) for details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  > Example: We need a resource provider for obtaining deployment secrets from a database.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Technologies used
 | 
					## Technologies used
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -145,7 +135,7 @@ For further info on components see the [glossary](#glossary).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This data flow diagram refines how a deployment is obtained from an operator's application configuration and a hosting provider's runtime setup.
 | 
					This data flow diagram refines how a deployment is obtained from an operator's application configuration and a hosting provider's runtime setup.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
An **application module** specifies operator-facing **application options**, and a **resource mapping** which determines the application's underlying implementation. Application modules can be supplied by external developers, which would curate application modules against that interface.
 | 
					An **application module** specifies operator-facing **application options**, and a **configuration mapping** which determines the application's underlying implementation. Application modules can be supplied by external developers, which would curate application modules against that interface.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For its runtime setup, a hosting provider has to supply a **resource mapping** that would take their self-declared **provider configuration** (which determines the *available* resources) and the output of an application's resource mapping (which determine resource *requirements*) and produce a **configuration**. This configuration ships with a mechanism to be *deployed* to the infrastructure (which is described by the environment, and features the required resources), where it will accumulate **application state**.
 | 
					For its runtime setup, a hosting provider has to supply a **resource mapping** that would take their self-declared **provider configuration** (which determines the *available* resources) and the output of an application's resource mapping (which determine resource *requirements*) and produce a **configuration**. This configuration ships with a mechanism to be *deployed* to the infrastructure (which is described by the environment, and features the required resources), where it will accumulate **application state**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue