Soubor jako uloziste, kdyz neni databaze
Mockup se k databazi nedostane, takze pribyl treti rezim: JSON soubor. Prezije restart procesu i containeru, ale ne redeploy - filesystem containeru je docasny. Je to mezistupen, ne nahrada databaze, a tak je to i napsane v portalu. | Rezim | Kdy | Restart | Redeploy | | -------- | --------------------------------- | ------- | -------- | | postgres | DATABASE_URL i SECRETS_KEY | prezije | prezije | | file | neni DB, ale je DATA_DIR | prezije | ne | | memory | ani jedno, nebo nejde zapsat | ne | ne | Rozhodnuti zustava na jednom miste (src/data/connectorStore.ts). Pridano: - src/data/snapshot.ts: atomicky zapis (.tmp a prejmenovani), slucovani zapisu a dokonceni rozepsaneho zapisu pri SIGTERM. Bez atomickeho zapisu by pad uprostred nechal polovicni JSON, ktery se pri startu nenacte. Rozbity soubor se prejmenuje na .broken a jede se dal - aplikace, ktera nenastartuje, je pro AppFactory nefunkcni sluzba - src/data/connectors/local.ts: jeden kod pro pamet i soubor, lisi se jen tim, kam se zapisuje. Nahrazuje memory.ts, dve implementace by se casem rozesly - klic k sifrovani se mimo databazi vygeneruje do DATA_DIR/secrets.key s pravy 0600, takze sifrovani funguje bez nastaveni. Chrani to proti nahodnemu precteni JSONu, ne proti pristupu k disku - klic lezi vedle dat a je to tak napsane i v portalu. U databaze se negeneruje vubec: kdo ma zalohu tabulky, ma i klic ze stejneho stroje - DATA_DIR v konfiguraci, data/ v .gitignore a .dockerignore - hlaska v portalu rozlisuje tri nasledky: pamet, soubor a databaze Overeno bez databaze: konektor s vyplnenymi udaji prezil restart, v JSONu jsou hodnoty sifrovane a plaintext v nem neni. Pote s databazi: rezim postgres funguje dal a klic vedle dat se nevygeneroval. Kontejner i data/ po overeni smazany. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
61cf29878f
commit
6e3d0640ff
@@ -2,6 +2,32 @@
|
||||
|
||||
Nejnovejsi nahore.
|
||||
|
||||
## 2026-08-12 - soubor jako uloziste bez databaze
|
||||
|
||||
Mockup se k databazi nedostane, takze pribyl treti rezim: JSON soubor.
|
||||
Prezije restart procesu i containeru, ale ne redeploy.
|
||||
|
||||
### Pridano
|
||||
|
||||
- `src/data/snapshot.ts`: atomicky zapis (`.tmp` a prejmenovani), slucovani
|
||||
zapisu a dokonceni rozepsaneho zapisu pri `SIGTERM`. Rozbity soubor se
|
||||
prejmenuje na `.broken`, zaloguje a jede se s prazdnymi daty - aplikace, ktera
|
||||
nenastartuje, je pro AppFactory nefunkcni sluzba.
|
||||
- `src/data/connectors/local.ts`: jeden kod pro pamet i soubor, lisi se jen tim,
|
||||
kam se zapisuje. Nahrazuje `memory.ts` - dve implementace by se casem rozesly.
|
||||
- Klic k sifrovani se mimo databazi vygeneruje do `DATA_DIR/secrets.key`, takze
|
||||
sifrovani funguje bez nastaveni. U databaze se negeneruje: kdo ma zalohu
|
||||
tabulky, ma i klic ze stejneho stroje.
|
||||
- `DATA_DIR` v konfiguraci, `data/` v `.gitignore` a `.dockerignore`.
|
||||
- Hlaska v portalu rozlisuje tri nasledky: pamet (ztrata pri restartu), soubor
|
||||
(ztrata pri redeployi) a databaze (bez ztraty, hlaska se nezobrazuje).
|
||||
|
||||
### Overeno
|
||||
|
||||
Bez databaze: konektor s vyplnenymi udaji prezil restart, v JSONu jsou hodnoty
|
||||
sifrovane a plaintext v nem neni. S databazi: rezim `postgres` funguje dal
|
||||
a klic vedle dat se nevygeneroval.
|
||||
|
||||
## 2026-08-12 - databaze pro konektory
|
||||
|
||||
Konektory se ukladaji do Postgresu, pristupove udaje sifrovane.
|
||||
|
||||
Reference in New Issue
Block a user