# astroklient — wdrożenie wersji demo (PRE-28) Osobna usługa o dwóch funkcjach: **dodanie pliku bazy** i **zapytanie o interpretację urodzeniową**. Opis samej aplikacji: `services/astroklient/README.md` w repo aplikacji. --- ## ⚠️ Przeczytaj, zanim komuś dasz adres Demo pracuje na **produkcyjnej warstwie danych**. To była świadoma decyzja, ale niesie dwie konsekwencje, o których trzeba pamiętać za każdym razem: * **kto ma dostęp do demo, czyta Twoje oryginalne bazy interpretacyjne** — czyli rdzeń produktu, którego pilnują LOG-32, DAN-25 i PRE-27, * **pliki wgrane przez demo trafiają do produkcyjnego zbioru** i od razu biorą udział w wyszukiwaniu, także w pełnej aplikacji. Jeśli demo ma trafić do kogoś spoza kręgu zaufania, właściwą odpowiedzią jest osobna warstwa danych z pustym udziałem — **nie jest to dziś zrobione**. --- ## Krok 1 — sekret z hasłem demo Osobny sekret, nie `astrololo-auth`. Dzięki temu demo odcina się **jedną komendą**, bez ruszania kont głównej aplikacji i bez zmiany hasła komukolwiek. ```bash read -rs -p "Hasło do demo (DEMO_PASSWORD): " DEMO; echo kubectl -n astrololo create secret generic astrololo-demo \ --from-literal=DEMO_PASSWORD="$DEMO" unset DEMO ``` Login to `demo` (zmienny przez `DEMO_USER` w `astroklient.yaml`). Hasło może być też hashem `scrypt$…` — wtedy nie leży nigdzie jawnie: ```bash cd services/presentation && python scripts/make_user.py demo # w repo aplikacji ``` --- ## Krok 2 — wdrożenie ```bash kubectl apply -k astrololo kubectl -n astrololo rollout status deploy/astroklient ``` Image-updater ma astroklienta na liście, więc kolejne obrazy podbiją się same. --- ## Krok 3 — wejście z zewnątrz Usługa jest `ClusterIP`; z zewnątrz wchodzi się **wyłącznie przez Ingress po https**, tak samo jak do prezentacji. Dopisz regułę do `ingress.yaml` — osobny host albo ścieżka, zależnie od tego, jak chcesz demo udostępniać. Na czas sprawdzenia wystarczy tunel: ```bash kubectl -n astrololo port-forward deploy/astroklient 8005:8005 ``` i `http://localhost:8005` — login `demo`, hasło z kroku 1. --- ## Odcięcie demo ```bash kubectl -n astrololo delete secret astrololo-demo kubectl -n astrololo rollout restart deploy/astroklient ``` > Uwaga: **pod bez sekretu nie wstanie** i to jest zachowanie zamierzone. > Alternatywnie `kubectl -n astrololo scale deploy/astroklient --replicas=0`, > jeśli chcesz tylko wyłączyć, zachowując konfigurację. Konta głównej aplikacji pozostają nietknięte w obu przypadkach.