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:
2026-08-20 23:36:57 +02:00
parent e52284c88f
commit a9ff6e1f68
6 changed files with 28 additions and 28 deletions
+79
View File
@@ -0,0 +1,79 @@
# 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-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-demo.md).
apiVersion: apps/v1
kind: Deployment
metadata:
name: astroklient-demo
namespace: astrololo
spec:
replicas: 1
selector:
matchLabels: { app: astroklient-demo }
template:
metadata:
labels: { app: astroklient-demo }
spec:
containers:
- 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.
# Wpisanie tu produkcyjnego `logic` cofnęłoby całą izolację demo
# jednym słowem — dlatego stoi to tuż obok siebie w jednym pliku.
- 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-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
# nawzajem. Sekrety najlepiej jako hash scrypt.
- name: DEMO_USERS
valueFrom:
secretKeyRef: { name: astrololo-demo, key: DEMO_USERS }
# Token międzywarstwowy i klucz łącza — TE SAME co prezentacja:
# demo nie jest furtką omijającą ochronę warstwy logicznej.
- name: INTERNAL_TOKEN
valueFrom:
secretKeyRef: { name: astrololo-auth, key: INTERNAL_TOKEN }
- name: LINK_KEY_PRESENTATION_LOGIC
valueFrom:
secretKeyRef: { name: astrololo-link, key: LINK_KEY_PRESENTATION_LOGIC }
- name: LINK_ENCRYPTION_REQUIRED
value: "true"
# Za Ingressem bezpośrednim rozmówcą jest pod Traefika. Bez tego limit
# liczyłby WSZYSTKICH do jednego wiadra i pierwsza osoba, która go
# wyklika, odcięłaby pozostałe.
- name: TRUST_PROXY
value: "true"
# Niższy niż w pełnej aplikacji: demo bywa udostępniane szerzej,
# a każde zapytanie sięga do treści baz.
- name: RATE_LIMIT_PER_MIN
value: "60"
resources:
requests: { cpu: "50m", memory: "96Mi" }
limits: { cpu: "300m", memory: "256Mi" }
---
apiVersion: v1
kind: Service
metadata:
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-demo }
ports: [{ port: 8005, targetPort: 8005 }]