refactor: astroklient → astroklient-demo
Nazwa `astroklient` zostaje zarezerwowana dla przyszłej wersji produkcyjnej; obecna, demonstracyjna nazywa się od teraz `astroklient-demo`. Zmiana obejmuje nazwy plików (astroklient-demo.yaml, astroklient-demo-stack.yaml, README-astroklient-demo.md), Deployment i Service, etykiety selektorów, obraz w rejestrze, alias w image-updaterze, wpisy w kustomization i odsyłacze w README. `data-demo` i `logic-demo` zostają bez zmian — nie niosły starej nazwy. Sprawdzone: `kubectl kustomize astrololo` składa komplet 27 zasobów, obraz to astrololo-astroklient-demo, żadnego zdublowanego przyrostka ani gołego `astroklient` nie zostało. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
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.
|
w repo aplikacji.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -9,7 +9,7 @@ w repo aplikacji.
|
|||||||
## Jak to jest odizolowane
|
## 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
|
└── klientA/ ← pula konta
|
||||||
└── klientB/ ← 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.
|
własną warstwę danych, pracującą na osobnym udziale, pustym na starcie.
|
||||||
|
|
||||||
Dlaczego osobna jest też **warstwa logiczna**: zna ona jeden adres warstwy danych,
|
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.
|
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ą
|
**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\$…" \
|
--from-literal=DEMO_USERS="${STARE},klientC:scrypt\$…" \
|
||||||
--dry-run=client -o yaml | kubectl apply -f -
|
--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
|
### Odebranie dostępu
|
||||||
@@ -112,13 +112,13 @@ klienta nie znikają, tylko przestaje być komu je pokazywać.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -k astrololo
|
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:
|
Sprawdzenie na czas jednej sesji, bez wystawiania na świat:
|
||||||
|
|
||||||
```bash
|
```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.
|
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
|
## Odcięcie całego demo
|
||||||
|
|
||||||
```bash
|
```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
|
Pule i dane zostają. Skasowanie sekretu `astrololo-demo` zatrzyma pod (nie wstanie
|
||||||
+2
-2
@@ -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
|
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.
|
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
|
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
|
`astrololo-demo` — oryginalne bazy są dla demo nieosiągalne. Każde konto demo ma
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Warstwa danych i logiki WYŁĄCZNIE dla wersji demo (PRE-29).
|
# Warstwa danych i logiki WYŁĄCZNIE dla wersji demo (PRE-29).
|
||||||
#
|
#
|
||||||
# DLACZEGO OSOBNY KOMPLET, A NIE WSPÓŁDZIELONY. Warstwa logiczna zna JEDEN adres
|
# 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
|
# na produkcyjne bazy. Izolacja demo musi więc sięgnąć obu warstw naraz, inaczej
|
||||||
# nie ma jej wcale.
|
# nie ma jej wcale.
|
||||||
#
|
#
|
||||||
@@ -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ę
|
# 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.
|
# 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ę
|
# IZOLACJA (PRE-29): astroklient-demo ma WŁASNĄ warstwę logiczną i WŁASNĄ warstwę
|
||||||
# danych (astroklient-stack.yaml), pracujące na osobnym, pustym na starcie
|
# danych (astroklient-demo-stack.yaml), pracujące na osobnym, pustym na starcie
|
||||||
# udziale. Oryginalne bazy interpretacyjne są dla demo NIEOSIĄGALNE.
|
# 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
|
# 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ć
|
# 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
|
# 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
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
name: astroklient
|
name: astroklient-demo
|
||||||
namespace: astrololo
|
namespace: astrololo
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels: { app: astroklient }
|
matchLabels: { app: astroklient-demo }
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels: { app: astroklient }
|
labels: { app: astroklient-demo }
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: astroklient
|
- name: astroklient-demo
|
||||||
image: gitea.czernobog.pl/gitea/astrololo-astroklient:latest
|
image: gitea.czernobog.pl/gitea/astrololo-astroklient-demo:latest
|
||||||
ports: [{ containerPort: 8005 }]
|
ports: [{ containerPort: 8005 }]
|
||||||
env:
|
env:
|
||||||
# WŁASNA warstwa logiczna, wskazująca na WŁASNĄ warstwę danych.
|
# WŁASNA warstwa logiczna, wskazująca na WŁASNĄ warstwę danych.
|
||||||
@@ -35,7 +35,7 @@ spec:
|
|||||||
- name: LOGIC_URL
|
- name: LOGIC_URL
|
||||||
value: "http://logic-demo:8001"
|
value: "http://logic-demo:8001"
|
||||||
# Konto demo — WŁASNE, nie astrololo-auth. Sekret tworzony POZA repo
|
# 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
|
# KONTA DEMO — lista `login:sekret` po przecinku. Każde konto ma
|
||||||
# WŁASNĄ, niewidoczną dla pozostałych pulę baz (PRE-29), więc jedno
|
# 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
|
# wspólne konto oznaczałoby klientów oglądających swoje wgrania
|
||||||
@@ -69,11 +69,11 @@ spec:
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: astroklient
|
name: astroklient-demo
|
||||||
namespace: astrololo
|
namespace: astrololo
|
||||||
spec:
|
spec:
|
||||||
# ClusterIP — wejście z zewnątrz wyłącznie przez Ingress po https, tak samo
|
# 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.
|
# jak prezentacja. Druga, nieszyfrowana droga byłaby obejściem PRE-16.
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector: { app: astroklient }
|
selector: { app: astroklient-demo }
|
||||||
ports: [{ port: 8005, targetPort: 8005 }]
|
ports: [{ port: 8005, targetPort: 8005 }]
|
||||||
@@ -36,8 +36,8 @@ spec:
|
|||||||
imageName: gitea.czernobog.pl/gitea/astrololo-render
|
imageName: gitea.czernobog.pl/gitea/astrololo-render
|
||||||
# Wersja demo (PRE-28). Obraz, którego nie ma na tej liście, NIGDY się nie
|
# 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.
|
# podbije, choćby CI go budowało — tak przez chwilę wisiał render na :latest.
|
||||||
- alias: astroklient
|
- alias: astroklient-demo
|
||||||
imageName: gitea.czernobog.pl/gitea/astrololo-astroklient
|
imageName: gitea.czernobog.pl/gitea/astrololo-astroklient-demo
|
||||||
commonUpdateSettings:
|
commonUpdateSettings:
|
||||||
updateStrategy: newest-build
|
updateStrategy: newest-build
|
||||||
writeBackConfig:
|
writeBackConfig:
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ resources:
|
|||||||
- data.yaml
|
- data.yaml
|
||||||
- logic.yaml
|
- logic.yaml
|
||||||
- presentation.yaml
|
- presentation.yaml
|
||||||
- astroklient-stack.yaml # OSOBNA warstwa danych i logiki dla demo (PRE-29)
|
- astroklient-demo-stack.yaml # OSOBNA warstwa danych i logiki dla demo (PRE-29)
|
||||||
- astroklient.yaml # wersja demo (PRE-28) — sekret astrololo-demo POZA repo
|
- 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
|
- render.yaml # składanie raportu PDF (PRE-24), osobny obraz z TeX Live
|
||||||
- tls.yaml # certyfikat z własnego CA (wymaga cert-managera)
|
- tls.yaml # certyfikat z własnego CA (wymaga cert-managera)
|
||||||
- ingress.yaml # wejście po https + przekierowanie z http
|
- ingress.yaml # wejście po https + przekierowanie z http
|
||||||
@@ -18,7 +18,7 @@ images:
|
|||||||
newTag: ee3c515d
|
newTag: ee3c515d
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-render
|
- name: gitea.czernobog.pl/gitea/astrololo-render
|
||||||
newTag: latest
|
newTag: latest
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-astroklient
|
- name: gitea.czernobog.pl/gitea/astrololo-astroklient-demo
|
||||||
newTag: latest
|
newTag: latest
|
||||||
- name: gitea.czernobog.pl/gitea/astrololo-presentation
|
- name: gitea.czernobog.pl/gitea/astrololo-presentation
|
||||||
newTag: ee3c515d
|
newTag: ee3c515d
|
||||||
|
|||||||
Reference in New Issue
Block a user