# Overlay fuer den RKE2-Cluster von EnCry (Namespace apicore, Traefik mit # Middleware cloudflare-only). Vor jedem Rollout zeigt # kubectl diff -k deploy/k8s/overlays/encry # was sich aendert; nach dem Rollout ist der Diff leer. # # Gewollte Platzhalter, nie so anwenden: # - Image-Digests sha256:000...: Runbook Schritt 0 traegt die Digests der # CI-Builds (sha-) und von postgres:18.6-alpine ein. # - Hosts und TLS in ingress-*.yaml: Runbook Schritt 1 uebernimmt sie aus dem # Live-Stand. Die Werte in configmap-*.yaml sind seit 2026-10-15 schon die # Live-Werte (Commit 6e3e9ae). # # Backend-Digest: Das neue Image (CMD nur `node dist/main.js`) geht erst # zusammen mit components/backend-roles live (Runbook Schritt 3). Bis dahin # bleibt hier der Digest des laufenden Images. Ohne APICORE_ROLE bricht das # neue Image den Start in Produktion absichtlich ab. APICORE_ROLE nicht von # Hand setzen: ohne die initContainer von backend-roles liefe dann keine # Migration. # # Postgres: Bis 2026-10-13 wichen die Repo-Manifeste vom Cluster ab (Repo # app: apicore-postgres, ohne Haertung, volumeClaimTemplates; Cluster # app.kubernetes.io/name, gehaertet, statisches PVC apicore-postgres-data). # Seit 2026-10-13 ist base/postgres der Live-Stand (StatefulSet, Service, # PVC), nur das Image-Digest kommt von hier. Selektor und Volumes sind # unveraenderlich: Aenderungen an Postgres immer zuerst gegen den Cluster # pruefen (kubectl diff), nie die Live-Haertung zuruecknehmen. Das PV # pv-apicore-postgres und sein SMB-Secret liegen nicht in diesem Repo. apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: apicore resources: - ../../base - configmap-backend.yaml - configmap-frontend.yaml - ingress-backend.yaml - ingress-frontend.yaml # Zielstand. Je Runbook-Schritt nur die bis dahin freigegebenen Komponenten # aktivieren (Schritt 1: keine). Das Auskommentieren ist nur lokal fuer # kubectl diff/apply - nicht committen. Die CI rendert und prueft jeden # Schritt (deploy/k8s/tests/render-stages.mjs). components: - ../../components/network-policies # Schritt 2 - ../../components/pod-hardening # Schritt 3 - ../../components/backend-roles # Schritt 3 - ../../components/api-hpa # Schritt 5 images: - name: git.encry.de/nick.rosenloecher/apicore-backend digest: sha256:0000000000000000000000000000000000000000000000000000000000000000 - name: git.encry.de/nick.rosenloecher/apicore-frontend digest: sha256:0000000000000000000000000000000000000000000000000000000000000000 - name: postgres digest: sha256:0000000000000000000000000000000000000000000000000000000000000000