diff --git a/astrololo/README-astroklient.md b/astrololo/README-astroklient-demo.md similarity index 91% rename from astrololo/README-astroklient.md rename to astrololo/README-astroklient-demo.md index 9ce7e20..1ffbfed 100644 --- a/astrololo/README-astroklient.md +++ b/astrololo/README-astroklient-demo.md @@ -1,7 +1,7 @@ -# astroklient — wdrożenie wersji demo (PRE-28/29) +# astroklient-demo — wdrożenie wersji demo (PRE-28/29) Osobna usługa o dwóch funkcjach: **dodanie pliku bazy** i **zapytanie o -interpretację urodzeniową**. Opis aplikacji: `services/astroklient/README.md` +interpretację urodzeniową**. Opis aplikacji: `services/astroklient-demo/README.md` w repo aplikacji. --- @@ -9,7 +9,7 @@ w repo aplikacji. ## Jak to jest odizolowane ``` -astroklient → logic-demo → data-demo → /mnt/Tank1/astrololo-demo +astroklient-demo → logic-demo → data-demo → /mnt/Tank1/astrololo-demo └── klientA/ ← pula konta └── klientB/ ← pula konta ``` @@ -18,7 +18,7 @@ astroklient → logic-demo → data-demo → /mnt/Tank1/astrololo-demo własną warstwę danych, pracującą na osobnym udziale, pustym na starcie. Dlaczego osobna jest też **warstwa logiczna**: zna ona jeden adres warstwy danych, -więc astroklient korzystający z produkcyjnej logiki i tak trafiłby na produkcyjne +więc astroklient-demo korzystający z produkcyjnej logiki i tak trafiłby na produkcyjne bazy. Izolacja musi sięgnąć obu warstw naraz, inaczej nie ma jej wcale. **Każde konto ma własną pulę** — swój podkatalog na tym udziale. Konta nie widzą @@ -98,7 +98,7 @@ kubectl -n astrololo create secret generic astrololo-demo \ --from-literal=DEMO_USERS="${STARE},klientC:scrypt\$…" \ --dry-run=client -o yaml | kubectl apply -f - -kubectl -n astrololo rollout restart deploy/astroklient +kubectl -n astrololo rollout restart deploy/astroklient-demo ``` ### Odebranie dostępu @@ -112,13 +112,13 @@ klienta nie znikają, tylko przestaje być komu je pokazywać. ```bash kubectl apply -k astrololo -kubectl -n astrololo rollout status deploy/data-demo deploy/logic-demo deploy/astroklient +kubectl -n astrololo rollout status deploy/data-demo deploy/logic-demo deploy/astroklient-demo ``` Sprawdzenie na czas jednej sesji, bez wystawiania na świat: ```bash -kubectl -n astrololo port-forward deploy/astroklient 8005:8005 +kubectl -n astrololo port-forward deploy/astroklient-demo 8005:8005 ``` Wejście z zewnątrz wymaga reguły w `ingress.yaml` — osobny host albo ścieżka. @@ -170,7 +170,7 @@ techniczną, a decyzja, które bazy biorą udział w interpretacji, należy do C ## Odcięcie całego demo ```bash -kubectl -n astrololo scale deploy/astroklient --replicas=0 +kubectl -n astrololo scale deploy/astroklient-demo --replicas=0 ``` Pule i dane zostają. Skasowanie sekretu `astrololo-demo` zatrzyma pod (nie wstanie diff --git a/astrololo/README.md b/astrololo/README.md index 778b31c..40dbb62 100644 --- a/astrololo/README.md +++ b/astrololo/README.md @@ -29,9 +29,9 @@ Runbook: **[README-pliki.md](README-pliki.md)**. Ekran „Pliki" wymaga zapisu d udziału z bazami, więc znosi gwarancję z DAN-25, że baz nie da się zmienić przez NFS. Co zostaje z zabezpieczeń i jak to wdrożyć — w runbooku. -## astroklient — wersja demo (PRE-28) +## astroklient-demo — wersja demo (PRE-28) -Osobna usługa o dwóch funkcjach. Runbook: **[README-astroklient.md](README-astroklient.md)**. +Osobna usługa o dwóch funkcjach. Runbook: **[README-astroklient-demo.md](README-astroklient-demo.md)**. Ma **własną warstwę logiczną i własną warstwę danych** na osobnym udziale `astrololo-demo` — oryginalne bazy są dla demo nieosiągalne. Każde konto demo ma diff --git a/astrololo/astroklient-stack.yaml b/astrololo/astroklient-demo-stack.yaml similarity index 97% rename from astrololo/astroklient-stack.yaml rename to astrololo/astroklient-demo-stack.yaml index 66d350a..baad6a6 100644 --- a/astrololo/astroklient-stack.yaml +++ b/astrololo/astroklient-demo-stack.yaml @@ -1,7 +1,7 @@ # Warstwa danych i logiki WYŁĄCZNIE dla wersji demo (PRE-29). # # DLACZEGO OSOBNY KOMPLET, A NIE WSPÓŁDZIELONY. Warstwa logiczna zna JEDEN adres -# warstwy danych, więc astroklient korzystający z produkcyjnej logiki i tak trafiłby +# warstwy danych, więc astroklient-demo korzystający z produkcyjnej logiki i tak trafiłby # na produkcyjne bazy. Izolacja demo musi więc sięgnąć obu warstw naraz, inaczej # nie ma jej wcale. # diff --git a/astrololo/astroklient.yaml b/astrololo/astroklient-demo.yaml similarity index 82% rename from astrololo/astroklient.yaml rename to astrololo/astroklient-demo.yaml index 6af55b1..f73d420 100644 --- a/astrololo/astroklient.yaml +++ b/astrololo/astroklient-demo.yaml @@ -1,32 +1,32 @@ -# astroklient — wersja demonstracyjna (PRE-28). +# astroklient-demo — wersja demonstracyjna (PRE-28). # # Osobna usługa o DWÓCH funkcjach: dodanie pliku bazy i zapytanie o interpretację # urodzeniową. Pozostałe funkcje nie są tu ukryte — nie ma ich w obrazie. # -# IZOLACJA (PRE-29): astroklient ma WŁASNĄ warstwę logiczną i WŁASNĄ warstwę -# danych (astroklient-stack.yaml), pracujące na osobnym, pustym na starcie +# IZOLACJA (PRE-29): astroklient-demo ma WŁASNĄ warstwę logiczną i WŁASNĄ warstwę +# danych (astroklient-demo-stack.yaml), pracujące na osobnym, pustym na starcie # udziale. Oryginalne bazy interpretacyjne są dla demo NIEOSIĄGALNE. # # Wewnątrz demo każde konto ma własną pulę plików — swój podkatalog na tym # udziale — niewidoczną dla pozostałych kont. Dzięki temu demo można rozdawać # szeroko, a pliki jednego klienta da się później przenieść do pełnej aplikacji -# jako jeden katalog (patrz README-astroklient.md). +# jako jeden katalog (patrz README-astroklient-demo.md). apiVersion: apps/v1 kind: Deployment metadata: - name: astroklient + name: astroklient-demo namespace: astrololo spec: replicas: 1 selector: - matchLabels: { app: astroklient } + matchLabels: { app: astroklient-demo } template: metadata: - labels: { app: astroklient } + labels: { app: astroklient-demo } spec: containers: - - name: astroklient - image: gitea.czernobog.pl/gitea/astrololo-astroklient:latest + - name: astroklient-demo + image: gitea.czernobog.pl/gitea/astrololo-astroklient-demo:latest ports: [{ containerPort: 8005 }] env: # WŁASNA warstwa logiczna, wskazująca na WŁASNĄ warstwę danych. @@ -35,7 +35,7 @@ spec: - name: LOGIC_URL value: "http://logic-demo:8001" # Konto demo — WŁASNE, nie astrololo-auth. Sekret tworzony POZA repo - # (jak pozostałe), patrz README-astroklient.md. + # (jak pozostałe), patrz README-astroklient-demo.md. # KONTA DEMO — lista `login:sekret` po przecinku. Każde konto ma # WŁASNĄ, niewidoczną dla pozostałych pulę baz (PRE-29), więc jedno # wspólne konto oznaczałoby klientów oglądających swoje wgrania @@ -69,11 +69,11 @@ spec: apiVersion: v1 kind: Service metadata: - name: astroklient + name: astroklient-demo namespace: astrololo spec: # ClusterIP — wejście z zewnątrz wyłącznie przez Ingress po https, tak samo # jak prezentacja. Druga, nieszyfrowana droga byłaby obejściem PRE-16. type: ClusterIP - selector: { app: astroklient } + selector: { app: astroklient-demo } ports: [{ port: 8005, targetPort: 8005 }] diff --git a/astrololo/image-updater.yaml b/astrololo/image-updater.yaml index 689dd1c..87f2f46 100644 --- a/astrololo/image-updater.yaml +++ b/astrololo/image-updater.yaml @@ -36,8 +36,8 @@ spec: imageName: gitea.czernobog.pl/gitea/astrololo-render # Wersja demo (PRE-28). Obraz, którego nie ma na tej liście, NIGDY się nie # podbije, choćby CI go budowało — tak przez chwilę wisiał render na :latest. - - alias: astroklient - imageName: gitea.czernobog.pl/gitea/astrololo-astroklient + - alias: astroklient-demo + imageName: gitea.czernobog.pl/gitea/astrololo-astroklient-demo commonUpdateSettings: updateStrategy: newest-build writeBackConfig: diff --git a/astrololo/kustomization.yaml b/astrololo/kustomization.yaml index 314c821..2c27b3a 100644 --- a/astrololo/kustomization.yaml +++ b/astrololo/kustomization.yaml @@ -6,8 +6,8 @@ resources: - data.yaml - logic.yaml - presentation.yaml - - astroklient-stack.yaml # OSOBNA warstwa danych i logiki dla demo (PRE-29) - - astroklient.yaml # wersja demo (PRE-28) — sekret astrololo-demo POZA repo + - astroklient-demo-stack.yaml # OSOBNA warstwa danych i logiki dla demo (PRE-29) + - astroklient-demo.yaml # wersja demo (PRE-28) — sekret astrololo-demo POZA repo - render.yaml # składanie raportu PDF (PRE-24), osobny obraz z TeX Live - tls.yaml # certyfikat z własnego CA (wymaga cert-managera) - ingress.yaml # wejście po https + przekierowanie z http @@ -18,7 +18,7 @@ images: newTag: ee3c515d - name: gitea.czernobog.pl/gitea/astrololo-render newTag: latest - - name: gitea.czernobog.pl/gitea/astrololo-astroklient + - name: gitea.czernobog.pl/gitea/astrololo-astroklient-demo newTag: latest - name: gitea.czernobog.pl/gitea/astrololo-presentation newTag: ee3c515d