chore(deploy): Runbook Schritt 3 live, Images sha-cda3e02 im Overlay (#28)
Backend Image / build-and-push (push) Successful in 8m17s
Frontend Image / build-and-push (push) Successful in 15m59s
Manifests / validate (push) Canceled after 11s

Am 2026-10-16 waren Backend- und Frontend-Image in Rancher auf sha-cda3e02
gesetzt worden, ohne Migrationen: der neue Backend-Pod wurde nie bereit
(P2010, Tabelle "ThrottlerHit" fehlte), das neue Frontend sprach mit dem
alten Backend. Am 2026-10-19 erst zurückgerollt, dann nach Backup
(pre-rollout-202610191316) und Prüfabfrage (colonyStrength > 40: 0)
pod-hardening und backend-roles angewendet: api + worker, 30 Migrationen
über den initContainer migrate, Job-CronJobs. Network-Policies, HPA und
voice bleiben offen.

Refs #28

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick.RosenloecherandClaude Opus 5.5 committed 2026-10-19 13:23:05 +02:00
1 parent cda3e02a31
commit 355a353671
1 file changed
+9 -15
+9 -15
View File
@@ -41,28 +41,22 @@ components:
- ../../components/backend-roles # Schritt 3
- ../../components/api-hpa # Schritt 5
- ../../components/voice # Sprachnotizen (T7), erst nach VOICE_ENCRYPTION_KEY im Secret
# Stand 2026-10-16 (Runbook Schritt 0): backend, frontend und postgres sind die
# LIVE laufenden Images (kubectl get deploy,sts, gleiche Digests wie im
# Cluster). Neue CI-Digests fuer Schritt 3
# (nicht hier eintragen, bevor backend-roles live geht):
# apicore-backend sha-6a915aa sha256:b0ff76c4f248565819ddede919f0701d31cd17de3522bc7a9278682840952d1d
# apicore-frontend sha-279ceec sha256:deb9fbc6cd0e300b0bc0b8096b085ba73403b794672c45d0468fe6cc5a3a48dc
# Stand 2026-10-19: Runbook Schritt 3 live (pod-hardening + backend-roles,
# 30 Migrationen ueber den initContainer migrate, Backup vorher). Noch NICHT
# angewendet: network-policies (Schritt 2), api-hpa (Schritt 5), voice. Fuer
# kubectl apply diese drei Zeilen lokal auskommentieren (nicht committen).
images:
# Live: apicore-backend:sha-f5b1964@sha256:db06...; hier ohne Tag (gleicher
# Digest, gleiches Image), weil die Manifest-Tests das Backend-Image ohne Tag
# erwarten. Einziger Image-Unterschied im kubectl diff.
- name: git.encry.de/nick.rosenloecher/apicore-backend
digest: sha256:db06e375beab3750ee7d8cab8ab53a53731bd877fe6bdd154b4cd8df52fb4f03
# Live ohne Tag, nur Digest.
digest: sha256:99b6b038ca5b0417e7cf75b2461cf29095c306ddc289a59cb7d48ff15ef3f61f # sha-cda3e02
- name: git.encry.de/nick.rosenloecher/apicore-frontend
digest: sha256:aa348582d866b0ed628d3086cfc79dc5e8f17308af1bbc9ac80ea616b6828037
digest: sha256:52765a963b2d1e7a093cabab467e5a74d8e5b910e63a8c6bc5ddf5f5b3af9baa # sha-cda3e02
# Abschreib-Image (.gitea/workflows/whisper-image.yml), erster CI-Build
# sha-c53810b. Nur in components/voice, laeuft noch nicht live.
- name: git.encry.de/nick.rosenloecher/apicore-whisper
digest: sha256:bb0eb6cd0168d0acb79a220699d0c8e254df4616d6dae78c109501566e100cd1
# Live laeuft postgres:18.6-alpine nur per Tag; der Digest ist der Index-Digest,
# den der Pod gezogen hat (= Docker Hub 18.6-alpine am 2026-10-16). Das
# Anheften aendert das Pod-Template: beim apply startet Postgres einmal neu.
# Live laeuft postgres:18.6-alpine weiter nur per Tag (am 2026-10-19 bewusst
# ohne Digest angewendet, um einen Neustart auf SMB zu vermeiden). Der Digest
# ist der gezogene Index-Digest; mit ihm startet Postgres beim apply einmal neu.
- name: postgres
newTag: 18.6-alpine
digest: sha256:77f585114c32fbca283dc835b0596f4e52b51b4c6662d7810b2f4084f60a1873