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]>
48 lines
1.6 KiB
YAML
48 lines
1.6 KiB
YAML
# Produktions-Overlay. Anpassen: Images/Tags, Domain, IngressClass,
|
|
# ClusterIssuer und TLS-Secret-Name. Anwenden:
|
|
# kubectl apply -k k8s/overlays/production
|
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
kind: Kustomization
|
|
namespace: artista
|
|
resources:
|
|
- ../../base
|
|
- ingress.yaml
|
|
# PostgreSQL-Daten und Medien auf SMB.
|
|
# Ohne SMB: diese Zeile und die beiden PVC-Patches unten entfernen.
|
|
- smb-volumes.yaml
|
|
|
|
images:
|
|
# Gebaut von .gitea/workflows/docker-build.yml: Git-Tag "v0.1.0" pushen
|
|
# ergibt Image-Tag "0.1.0" (Alternativen: "sha-<kurz>", "latest").
|
|
# Beide Images immer mit identischem Tag ausrollen.
|
|
- name: artista-modelcamp
|
|
newName: git.encry.de/nick.rosenloecher/artista-modelcamp
|
|
newTag: "0.1.0"
|
|
- name: artista-modelcamp-tools
|
|
newName: git.encry.de/nick.rosenloecher/artista-modelcamp-tools
|
|
newTag: "0.1.0"
|
|
|
|
patches:
|
|
# PVCs fest an die SMB-PersistentVolumes binden (statisch, ohne StorageClass).
|
|
- target: { kind: PersistentVolumeClaim, name: artista-modelcamp-media }
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/storageClassName
|
|
value: ""
|
|
- op: add
|
|
path: /spec/volumeName
|
|
value: artista-modelcamp-media-smb
|
|
- target: { kind: PersistentVolumeClaim, name: artista-modelcamp-postgres-data }
|
|
patch: |-
|
|
- op: add
|
|
path: /spec/storageClassName
|
|
value: ""
|
|
- op: add
|
|
path: /spec/volumeName
|
|
value: artista-modelcamp-postgres-smb
|
|
- target: { kind: ConfigMap, name: artista-modelcamp-config }
|
|
patch: |-
|
|
- op: replace
|
|
path: /data/APP_URL
|
|
value: https://modelcamp.example.org
|