feat(astrololo): Postgres jako lustro baz w SQL + runbook (DAN-28)
Manifest, wpięcie w kustomization i runbook krok po kroku. DECYZJE ZAPISANE W MANIFEŚCIE, ŻEBY NIE TRZEBA ICH BYŁO ODTWARZAĆ Z GŁOWY: local-path, NIE NFS. Postgres zakłada semantykę blokad i fsync, której NFS nie gwarantuje — to klasyczne źródło uszkodzenia bazy przy nagłym restarcie. Ceną jest przywiązanie do węzła; przy luście odtwarzalnym z Excela to akceptowalne. strategy: Recreate. Wolumen jest ReadWriteOnce, a dwa procesy Postgresa na jednym katalogu danych to uszkodzona baza — rolling próbowałby wstać z nowym podem, zanim stary zejdzie. PGDATA w PODKATALOGU wolumenu: katalog główny potrafi zawierać wpisy systemu plików, a initdb odmawia pracy w niepustym katalogu. Wersja PRZYPIĘTA i poza image-updaterem: podbicie majora wymaga migracji katalogu danych, więc nie może się zdarzyć samo, w nocy, przy okazji builda aplikacji. C.UTF-8 zamiast pl_PL.UTF-8: dopasowanie tekstu robimy przez unaccent i pg_trgm, nie przez collation, a pl_PL wymagałby obrazu z wygenerowanymi lokalizacjami. DATA_PROVIDER zostaje na `excel`. Postgres można wdrożyć i obejrzeć BEZ ryzyka dla działającego wyszukiwania; przełączenie to osobna, późniejsza decyzja. SPRAWDZONE PRZED ODDANIEM: `kubectl kustomize astrololo` składa komplet 21 zasobów bez błędu, YAML parsuje się poprawnie, audyt odwołań potwierdza, że jedynym brakującym sekretem jest astrololo-postgres (oba klucze), a DSN postgresql+psycopg:// jest rozpoznawany przez SQLAlchemy z psycopg 3. NIE SPRAWDZONE: skrypt inicjalizujący nie biegł przeciwko prawdziwemu Postgresowi — na maszynie, na której to powstawało, nie ma Dockera. Zapisane wprost w runbooku; krok 4 jest tam prawdziwym testem. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit was merged in pull request #16.
This commit is contained in:
@@ -23,6 +23,15 @@ Ten plik **celowo nie jest w `kustomization.yaml`**: resource stoi w ns `argocd`
|
||||
(poza namespace docelowym aplikacji), a to konfiguracja kontrolera, który wdraża tę
|
||||
aplikację — nakładamy go ręcznie, w repo trzymamy dla odtwarzalności i historii.
|
||||
|
||||
## Postgres — lustro baz w SQL (DAN-28)
|
||||
|
||||
Osobny runbook: **[README-postgres.md](README-postgres.md)** — co zrobiono w repo,
|
||||
co musisz zrobić ręcznie (sekret `astrololo-postgres`), jak sprawdzić rozszerzenia
|
||||
`pg_trgm`/`unaccent` i jak odtworzyć całość bez ArgoCD.
|
||||
|
||||
Postgres trzyma LUSTRO plików Excela, nie źródło prawdy — jego utrata nie jest
|
||||
utratą danych, więc kopie zapasowe są opcjonalne.
|
||||
|
||||
## ⚠️ Udział `astrololo-state` — wymagany przez konta (PRE-27)
|
||||
|
||||
Pod `presentation` **nie wstanie bez niego** (`CreateContainerConfigError:
|
||||
|
||||
Reference in New Issue
Block a user