Files
Wabenhain/k8s/05-app-deployment.yaml
T
Nick Szaunig 04da561380
Docker Image bauen und veroeffentlichen / build-and-push (push) Failing after 3m2s
fix: Gitea-Registry-URL nicht aus gitea.server_url ableiten
gitea.server_url ist in manchen Gitea-Versionen leer (go-gitea/gitea#23276)
und liefert selbst im Erfolgsfall eine volle URL mit https://-Schema statt
des fuer docker login/Image-Tags benoetigten reinen Hostnamens. Registry
jetzt fest als git.encry.de hinterlegt, k8s-Manifeste entsprechend
vorausgefuellt.
2026-08-18 01:36:03 +02:00

68 lines
2.0 KiB
YAML

# image: unten mit der tatsaechlichen Registry/Tag aus der Gitea-Actions-
# Pipeline ersetzen (das schlanke Laufzeit-Image, NICHT ":migrate-...").
# Vor dem ersten Rollout einmal den Migrations-Job (04-migrate-job.yaml)
# erfolgreich durchlaufen lassen, sonst startet die App gegen eine leere,
# ungemigrateet Datenbank.
apiVersion: apps/v1
kind: Deployment
metadata:
name: wabenhain-app
namespace: wabenhain
spec:
# ACHTUNG bevor du hochskalierst: lib/rate-limit.ts haelt Login-/2FA-/
# Checkout-Limits aktuell im Prozessspeicher, nicht in einem gemeinsamen
# Store. Mit replicas > 1 verteilt sich derselbe Nutzer per Load-Balancing
# auf mehrere Prozesse mit je eigenem Zaehler — das Limit wird effektiv um
# den Skalierungsfaktor schwaecher (2 Replicas = 2x mehr Versuche moeglich),
# ohne dass das im Frontend sichtbar waere. Fuer replicas > 1 zuerst
# lib/rate-limit.ts auf einen gemeinsamen Store (z.B. Redis) umstellen.
replicas: 1
selector:
matchLabels:
app: wabenhain-app
template:
metadata:
labels:
app: wabenhain-app
spec:
containers:
- name: app
image: git.encry.de/nick.rosenloecher/wabenhain:latest
ports:
- containerPort: 3000
envFrom:
- configMapRef:
name: wabenhain-config
- secretRef:
name: wabenhain-secrets
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: 20
periodSeconds: 30
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 512Mi
---
apiVersion: v1
kind: Service
metadata:
name: wabenhain-app
namespace: wabenhain
spec:
selector:
app: wabenhain-app
ports:
- port: 80
targetPort: 3000