update diagrams

This commit is contained in:
Kiara Grouwstra 2025-06-25 10:20:25 +02:00
parent 811c4743ba
commit 470a687110
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU

View file

@ -127,9 +127,32 @@ At the core of Fediversity lies a NixOS configuration module for a set of select
To ensure reproducibility, all software will be packaged with Nix. To ensure reproducibility, all software will be packaged with Nix.
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.
The used legend is as follows:
- Circle: [actor](#actors)
- Angled box: type
- Rectangle: value
- Rounded box: function
- Diamond: state
- Arrow: points towards dependant
For further info on components see the [glossary](#glossary).
![](https://git.fediversity.eu/Fediversity/meta/raw/branch/main/architecture-docs/interactions-migration.svg)
### Configuration data flow
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.
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**.
Applications and runtime environments thus interface through **resources**, the properties of which are curated by Fediversity maintainers.
![](https://git.fediversity.eu/Fediversity/meta/raw/branch/main/architecture-docs/interactions-fediversity.svg)
![](https://git.fediversity.eu/Fediversity/meta/raw/branch/main/architecture-docs/interactions.svg)
### Service portability ### Service portability