Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 2m17s
Auf Wunsch des Betreibers auf das Noetige reduziert: StatefulSet PostgreSQL, Services, Ingress, App-Deployment, zwei SMB-PersistentVolumes (Postgres-Daten, Medien). Beibehalten nach Absprache: Worker-CronJob (Folgeraten, Reservierungsfreigabe, Mail-Wiederholung), ConfigMap und die NetworkPolicies (Sicherheitsbefund Rate-Limit-Umgehung). - Migration als initContainer im App-Deployment statt eigenem Job - Entfernt: Backup-CronJob/-Volume (NAS sichert die Freigabe), Migrations-CronJob, PodDisruptionBudget, HTTP-Redirect-Ingress und Middleware, Namespace-Objekt (einmalig von Hand anzulegen) - PostgreSQL auf SMB als bewusste, dokumentierte Ausnahme mit hard, cache=strict, SMB 3.1.1 + seal, uid 70 / 0700 Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
# Ingress fuer Traefik mit cert-manager.
|
|
# Anpassen: Host (auch APP_URL in kustomization.yaml), ingressClassName
|
|
# ("kubectl get ingressclass"), ClusterIssuer, TLS-Secret-Name.
|
|
# HTTP->HTTPS-Umleitung erwartet dieses Manifest EntryPoint-weit in Traefik
|
|
# (Helm: ports.web.redirections.entryPoint.to=websecure).
|
|
#
|
|
# X-Forwarded-For/X-Real-Ip: Rate Limits verlassen sich darauf, dass Traefik
|
|
# vom Client mitgeschickte Werte verwirft. Dafuer im Traefik-EntryPoint
|
|
# forwardedHeaders.trustedIPs nur auf echte vorgelagerte Proxys setzen.
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: artista-modelcamp
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
|
spec:
|
|
ingressClassName: traefik
|
|
tls:
|
|
- hosts:
|
|
- modelcamp.example.org
|
|
secretName: artista-modelcamp-tls
|
|
rules:
|
|
- host: modelcamp.example.org
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: artista-modelcamp-app
|
|
port:
|
|
name: http
|