tweak project proposal #1
1 changed files with 16 additions and 14 deletions
|
@ -4,8 +4,12 @@
|
||||||
|
|
||||||
- Developers
|
- Developers
|
||||||
|
|
||||||
The group working on this repository.
|
The group maintaining this repository.
|
||||||
We are creating the deployment workflows and service configurations.
|
We are creating the deployment workflows and service configurations, and curate changes proposed by contributors.
|
||||||
|
|
||||||
|
- Contributors
|
||||||
|
|
||||||
|
People proposing changes to this repository.
|
||||||
|
|
||||||
- Hosting provider
|
- Hosting provider
|
||||||
|
|
||||||
|
@ -33,11 +37,11 @@
|
||||||
|
|
||||||
- Application
|
- Application
|
||||||
|
|
||||||
User-facing software (e.g. from Fediverse) run by the hosting provider for an operator.
|
User-facing software (e.g. from Fediverse) configured by operators and used by users.
|
||||||
|
|
||||||
- Configuration
|
- Configuration
|
||||||
|
|
||||||
A collection of settings for a machine running NixOS.
|
A collection of settings for a piece of software.
|
||||||
|
|
||||||
> Example: Configurations are deployed to VMs.
|
> Example: Configurations are deployed to VMs.
|
||||||
|
|
||||||
|
@ -47,10 +51,8 @@
|
||||||
|
|
||||||
- Deploy
|
- Deploy
|
||||||
|
|
||||||
Put software, such as applications, onto computers.
|
Put software onto computers.
|
||||||
The software includes technical configuration that links software components.
|
The software includes technical configuration that links software components.
|
||||||
In our context, this a Configuration deployed to a runtime environment.
|
|
||||||
Most user-facing configuration remains untouched by the deployment process.
|
|
||||||
|
|
||||||
- Migrate
|
- Migrate
|
||||||
|
|
||||||
|
@ -100,7 +102,7 @@ Considered alternatives include:
|
||||||
|
|
||||||
### [SelfHostBlocks](https://nlnet.nl/project/SelfHostBlocks/)
|
### [SelfHostBlocks](https://nlnet.nl/project/SelfHostBlocks/)
|
||||||
|
|
||||||
SelfHostBlocks offers Nix module contracts to decouple applications from service providers, empowering user choice by providing sane defaults yet a [unified interface](https://nlnet.nl/project/SelfHostBlocks/).
|
SelfHostBlocks offers Nix module contracts to decouple application configuration from implementation details, empowering user choice by providing sane defaults yet a [unified interface](https://nlnet.nl/project/SelfHostBlocks/).
|
||||||
|
|
||||||
Considered alternatives include:
|
Considered alternatives include:
|
||||||
|
|
||||||
|
@ -192,10 +194,10 @@ Considered alternatives include:
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
At the core of Fediversity lies a NixOS configuration template containing selected applications.
|
At the core of Fediversity lies a NixOS configuration module for a set of selected applications.
|
||||||
We support using this with different run-time environments, with targets deemed in scope including NixOS itself and hypervisor ProxmoX.
|
We will support using it with different run-time environments, such as a single NixOS machine or a ProxmoX hypervisor.
|
||||||
Depending on the targeted run-time environment, deployment will further involve orchestrator OpenTofu.
|
Depending on the targeted run-time environment, deployment will further involve OpenTofu as an orchestrator.
|
||||||
We further provide a [reference front-end](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/panel) to configure our template.
|
We further provide a [reference front-end](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/panel) to configure applications.
|
||||||
To ensure reproducibility, we also offer Nix packaging for our software.
|
To ensure reproducibility, we also offer Nix packaging for our software.
|
||||||
|
|
||||||
To reach our goals, we aim to implement the following interactions between [actors](#actors) (depicted with rounded corners) and system components (see the [glossary](#glossary), depicted with rectangles).
|
To reach our goals, we aim to implement the following interactions between [actors](#actors) (depicted with rounded corners) and system components (see the [glossary](#glossary), depicted with rectangles).
|
||||||
|
@ -212,7 +214,7 @@ Relationships among the entities used to model migrations are as follows, using
|
||||||
|
|
||||||
### Host architecture
|
### Host architecture
|
||||||
|
|
||||||
Whereas the core abstraction in Fediversity is a NixOS configuration template, a more full-fledged example architecture of the web host use-case we aim to support as part of our exploitation would be as follows, where VMs in question run Fediversity to offer our selected applications:
|
Whereas the core abstraction in Fediversity is a NixOS configuration module, a more full-fledged example architecture of the web host use-case we aim to support as part of our exploitation would be as follows, where VMs in question run Fediversity to offer our selected applications:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -261,7 +263,7 @@ Whereas details of the implementation may need to be decided as the technical ch
|
||||||
- [garbage collection of unallocated resources](https://git.fediversity.eu/Fediversity/Fediversity/issues/188)
|
- [garbage collection of unallocated resources](https://git.fediversity.eu/Fediversity/Fediversity/issues/188)
|
||||||
- [Nix-less bootstrap](https://git.fediversity.eu/Fediversity/Fediversity/issues/332)
|
- [Nix-less bootstrap](https://git.fediversity.eu/Fediversity/Fediversity/issues/332)
|
||||||
- [ensure hosts may update users' deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/159)
|
- [ensure hosts may update users' deployments](https://git.fediversity.eu/Fediversity/Fediversity/issues/159)
|
||||||
- [reference front-end decoupled from template version](https://git.fediversity.eu/Fediversity/Fediversity/issues/304)
|
- [reference front-end decoupled from version of configuration module](https://git.fediversity.eu/Fediversity/Fediversity/issues/304)
|
||||||
- [security audit](https://git.fediversity.eu/Fediversity/Fediversity/issues/291)
|
- [security audit](https://git.fediversity.eu/Fediversity/Fediversity/issues/291)
|
||||||
- [Key features improving user experience supported](https://git.fediversity.eu/Fediversity/Fediversity/issues/289):
|
- [Key features improving user experience supported](https://git.fediversity.eu/Fediversity/Fediversity/issues/289):
|
||||||
- [enqueuing deployment syncs](https://git.fediversity.eu/Fediversity/Fediversity/issues/242)
|
- [enqueuing deployment syncs](https://git.fediversity.eu/Fediversity/Fediversity/issues/242)
|
||||||
|
|
Loading…
Add table
Reference in a new issue