Platform backbone (plan 2026-10-13-plattform-rueckgrat), reviewed tasks: - run roles api/worker/job/all with shared startup checks (Task 1) - schema and migration for DomainEvent, deliveries, JobRun, ThrottlerHit (Task 2) - audit, notifications and domain events written in the same transaction (Task 3) - dispatcher with SKIP LOCKED claims, retries and stale release (Task 4) - worker building blocks: tick, LISTEN/NOTIFY wake-up, health (Task 5) - worker process and entry points (Task 6) - throttler counters in Postgres (Task 19) - separate keys per purpose with key ring (Task 20) - public origin page without exact location (Task 22) - shop keys split into read and write (Task 23) - Kustomize base, components, overlay encry, CI validation (Task 26) Field capture T3 (plan 2026-10-13-t3-erfassung-am-stand), reviewed tasks: - brood frames, read endpoints, apiary overview and offline pack - network basics, offline queue v3, navigation sheets, form building blocks - new inspection with last-time hints and weather, varroa per day, treatment prefill, apiary page with round - inspection photo (Task 10) is implemented, review pending Not rolled out. Remaining tasks follow in later commits. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
52 lines
2.5 KiB
YAML
52 lines
2.5 KiB
YAML
# 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-<commit>) und von postgres:18.6-alpine ein.
|
|
# - Hosts in ingress-*.yaml und Werte in configmap-*.yaml: Runbook Schritt 1
|
|
# uebernimmt sie aus dem Live-Stand.
|
|
#
|
|
# 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
|