add high-level spec
This commit is contained in:
parent
0ff5a8affe
commit
a6209f056c
1 changed files with 49 additions and 0 deletions
49
architecture-docs/2025-04-08-high-level-spec.md
Normal file
49
architecture-docs/2025-04-08-high-level-spec.md
Normal file
|
@ -0,0 +1,49 @@
|
|||
# fediversity product specification
|
||||
|
||||
## stack
|
||||
|
||||
### user-facing
|
||||
|
||||
- fediverse
|
||||
- ...
|
||||
- prioritize efforts taking in mind
|
||||
- added value to operator autonomy
|
||||
- strategic relevance to counter-balance big tech
|
||||
- demand
|
||||
- nix package/service maturity
|
||||
- may involve relation with application devs to:
|
||||
- [upstream](https://git.fediversity.eu/Fediversity/Fediversity/issues/127#issuecomment-5669) nix package
|
||||
- ensure architecture takes immutable build/storage in mind
|
||||
|
||||
### under the hood
|
||||
|
||||
- nixos
|
||||
- [opentofu](https://opentofu.org/)
|
||||
- passes relevant info on to nixos config wrapper
|
||||
- VM hypervisor: [proxmox](https://proxmox.com/)
|
||||
- storage: [garage](https://garagehq.deuxfleurs.fr/)
|
||||
- backups / data portability: [borgmatic](https://github.com/borgmatic-collective/borgmatic)?
|
||||
- data interoperability: [json-schema](https://json-schema.org/)
|
||||
|
||||
## component architecture
|
||||
|
||||
- orchestration module
|
||||
- application service modules (nixos): templates providing sane defaults and [unified interface](https://nlnet.nl/project/SelfHostBlocks/)
|
||||
- deployment module (opentofu)
|
||||
- deployment UIs
|
||||
- [reference imlementation](https://git.fediversity.eu/Fediversity/Fediversity)
|
||||
- hosting panel: [fediversity integration](https://www.figma.com/proto/AZbFAac2Xjxs3q1H3orXzO/Fedi-Design-system?page-id=97%3A1682&node-id=97-2284) TODO
|
||||
- [front](https://git.fediversity.eu/Fediversity/protagio.nl-frontend)
|
||||
- back
|
||||
- [existing](https://git.fediversity.eu/Fediversity/myprotagio-api)
|
||||
- rewrite?
|
||||
- allow for alternate setups
|
||||
- e.g. client doing orchestration
|
||||
- [infra](https://git.fediversity.eu/Fediversity/meta/media/branch/main/architecture-docs/architecture.png)
|
||||
|
||||
### feature-specific architectural notes
|
||||
|
||||
- [decouple version](https://git.fediversity.eu/Fediversity/Fediversity/issues/304)
|
||||
- [validate component input](https://git.fediversity.eu/Fediversity/Fediversity/issues/195)
|
||||
- [migrate to different host](https://git.fediversity.eu/Fediversity/Fediversity/issues/100) (+ sub-tickets)
|
||||
- [breaking changes](https://git.fediversity.eu/Fediversity/Fediversity/issues/214)
|
Loading…
Add table
Reference in a new issue