add data model for the reference front-end (#31)

follows up from #31 to offer a data model focused on formalize to the point of incorporating any data attribute types to be stored in the `panel` db.

data model [requirements](https://git.fediversity.eu/Fediversity/meta/src/branch/main/architecture-docs/data-model-requirements.md):

- [x] specifying [entity relations](https://mermaid.js.org/syntax/entityRelationshipDiagram.html#relationship-syntax) e.g. many-to-many
- [x] migrating both deployed and staged configurations
- [x] deploying of applications using the same versions
- [x] retaining relevant application state
- handling of application-specific migration logic, such as to rewrite URLs as needed - note this requirement does not affect the model here, in the sense it is handled through code rather than through the database

closes Fediversity/Fediversity#103.

Reviewed-on: #31
Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: cinereal <cinereal@riseup.net>
Co-committed-by: cinereal <cinereal@riseup.net>
This commit is contained in:
Kiara Grouwstra 2025-06-06 11:05:27 +02:00 committed by Valentin Gagarin
parent ebaf20d558
commit 7d68f6fef8
2 changed files with 25 additions and 0 deletions

View file

@ -0,0 +1,24 @@
---
title: Data model of sample web application
---
erDiagram
operator {
string username
string password_hash
}
deployment {
json deployed_configuration
option[string] staged_configuration
option[string] version
}
backup["back-up"] {
string bucket
string endpoint
}
keypair {
string access_key
string secret_key
}
operator ||--o{ deployment : has
deployment ||--o{ backup : has
backup ||--|{ keypair : authorises

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB