# Astroklient — warstwa pośrednia (PR 4/5). # # Pełne funkcje astrologiczne, bez generowania tekstu i bez administracji. # Obraz NIE ZAWIERA plików usuniętych wg usun.txt, więc nie ma tu czego wyłączać # ani czym odsłaniać: to jest osobny produkt, a nie pełna aplikacja z zaciągniętą # kurtyną. # # Konta pochodzą wyłącznie z sekretu (ASTROKLIENT_USERS), każde ma własną pulę # plików na udziale astrololo-klient. Nie ma pliku kont, więc nie ma wolumenu # stanu: sesje żyją w podpisanym ciasteczku. --- apiVersion: apps/v1 kind: Deployment metadata: name: astroklient namespace: astrololo spec: replicas: 1 selector: matchLabels: { app: astroklient } template: metadata: labels: { app: astroklient } spec: automountServiceAccountToken: false imagePullSecrets: [{ name: gitea-registry }] containers: - name: astroklient image: gitea.czernobog.pl/gitea/astrololo-astroklient:latest ports: [{ containerPort: 8006 }] env: - name: LOGIC_URL value: "http://logic-astroklient:8001" - name: ASTROKLIENT_USERS valueFrom: secretKeyRef: { name: astrololo-astroklient, key: ASTROKLIENT_USERS } - name: SESSION_SECRET valueFrom: secretKeyRef: { name: astrololo-astroklient, key: SESSION_SECRET } - 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" - name: TRUST_PROXY value: "true" - name: RATE_LIMIT_PER_MIN value: "60" resources: requests: { cpu: "50m", memory: "128Mi" } limits: { cpu: "500m", memory: "384Mi" } --- apiVersion: v1 kind: Service metadata: name: astroklient namespace: astrololo spec: type: ClusterIP selector: { app: astroklient } ports: [{ port: 8006, targetPort: 8006 }]