Compare commits
3 commits
f30c741cf4
...
6b6984ef02
Author | SHA1 | Date | |
---|---|---|---|
6b6984ef02 | |||
e5e608f2c9 | |||
2b8507ae78 |
3 changed files with 26 additions and 3 deletions
|
@ -130,7 +130,9 @@ The used legend is as follows:
|
||||||
|
|
||||||
For further info on components see the [glossary](#glossary).
|
For further info on components see the [glossary](#glossary).
|
||||||
|
|
||||||

|
<!--  -->
|
||||||
|

|
||||||
|
|
||||||
### Configuration data flow
|
### 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.
|
This data flow diagram refines how a deployment is obtained from an operator's application configuration and a hosting provider's runtime setup.
|
||||||
|
@ -141,7 +143,8 @@ For its runtime setup, a hosting provider has to supply a **resource mapping** t
|
||||||
|
|
||||||
Applications and runtime environments thus interface through **resources**, the properties of which are curated by Fediversity maintainers.
|
Applications and runtime environments thus interface through **resources**, the properties of which are curated by Fediversity maintainers.
|
||||||
|
|
||||||

|
<!--  -->
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
### Service portability
|
### Service portability
|
||||||
|
@ -159,10 +162,15 @@ The process of migrating one's applications to a different host encompasses:
|
||||||
Whereas the bulk of our configuration logic is covered in the configuration schema, [implemented here](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/deployment/data-model.nix) and [tested here](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/deployment/data-model-test.nix), our reference front-end applications will store data.
|
Whereas the bulk of our configuration logic is covered in the configuration schema, [implemented here](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/deployment/data-model.nix) and [tested here](https://git.fediversity.eu/Fediversity/Fediversity/src/branch/main/deployment/data-model-test.nix), our reference front-end applications will store data.
|
||||||
The data model design for the configuration front-end needed support the desired functionality is as follows, using the crow's foot notation to denote cardinality:
|
The data model design for the configuration front-end needed support the desired functionality is as follows, using the crow's foot notation to denote cardinality:
|
||||||
|
|
||||||
<img src="https://git.fediversity.eu/Fediversity/meta/raw/branch/main/architecture-docs/panel-data-model.svg" alt="" style="max-width:600px;"/>
|
<img src="./panel-data-model.svg" alt="" style="max-width:600px;"/>
|
||||||
|
|
||||||
### Host architecture
|
### Host architecture
|
||||||
|
|
||||||
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 virtual machines 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 virtual machines in question run Fediversity to offer our selected applications:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
### CI / CD
|
||||||
|
|
||||||
|
In our simplest set-up, continuous integration and continuous deployment pipelines are handled using Forgejo's [built-in runner](https://code.forgejo.org/forgejo/runner), with relevant secrets handled using [Forgejo secrets](https://forgejo.org/docs/latest/developer/secrets/). Jobs we handle using CI include linting, formatting, testing, and a periodic life-cycle management job to keep our dependencies up-to-date.
|
||||||
|
In a future iteration, we may make use of [Gerrit](https://gerrit.googlesource.com/) to better manage our review process for incoming merge requests.
|
||||||
|
|
14
default.nix
Normal file
14
default.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
pkgs ? import <nixpkgs> { },
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
shell = pkgs.mkShellNoCC {
|
||||||
|
packages = with pkgs; [
|
||||||
|
pandoc
|
||||||
|
texliveMedium
|
||||||
|
librsvg
|
||||||
|
mermaid-cli
|
||||||
|
plantuml
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
1
shell.nix
Normal file
1
shell.nix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
(import ./. { }).shell
|
Loading…
Add table
Reference in a new issue