Files
Artista-Filmcamp/k8s/07-worker-cronjob.yaml
T
Nick SzaunigandClaude Opus 5.5 f2b548cb98
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 5m51s
chore(k8s): Images auf CI-Build pinnen statt :latest
App, Migration und Worker zeigen auf sha-<commit> mit
imagePullPolicy IfNotPresent. Damit gibt es ein Rollback per
rollout undo, und ein Neustart zieht nicht mehr ungeprueft das
neueste Image (oder scheitert, wenn Gitea gerade nicht laeuft).
README beschreibt das Ausrollen mit kubectl set image.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-12 05:27:47 +02:00

41 lines
1.4 KiB
YAML

# Alle 10 Minuten: faellige Raten einziehen, abgelaufene Reservierungen
# freigeben, E-Mails nachsenden. Ohne ihn funktioniert Ratenzahlung nicht.
apiVersion: batch/v1
kind: CronJob
metadata:
name: artista-modelcamp-worker
namespace: artista
spec:
schedule: "*/10 * * * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
backoffLimit: 1
activeDeadlineSeconds: 900
template:
metadata:
labels:
db-client: "true"
spec:
restartPolicy: Never
automountServiceAccountToken: false
securityContext:
runAsNonRoot: true
runAsUser: 1001
seccompProfile: { type: RuntimeDefault }
containers:
- name: worker
# Gepinnt auf einen CI-Build (sha-<commit>), nicht :latest. Ausrollen siehe README.
image: git.encry.de/nick.rosenloecher/artista-modelcamp-tools:sha-REPLACE_ME
imagePullPolicy: IfNotPresent
command: ["tsx", "scripts/worker.ts"]
envFrom:
- configMapRef: { name: artista-modelcamp-config }
- secretRef: { name: artista-modelcamp-secrets }
resources:
requests: { cpu: "0", memory: "0" }
limits: { memory: 512Mi }
securityContext:
allowPrivilegeEscalation: false
capabilities: { drop: ["ALL"] }