Files
bakery-ia/infrastructure/services/microservices/external/cronjobs/external-data-rotation-cronjob.yaml
2026-01-19 15:15:04 +01:00

67 lines
1.6 KiB
YAML

# infrastructure/kubernetes/base/cronjobs/external-data-rotation-cronjob.yaml
# Monthly CronJob to rotate 24-month sliding window (runs 1st of month at 2am UTC)
apiVersion: batch/v1
kind: CronJob
metadata:
name: external-data-rotation
namespace: bakery-ia
labels:
app: external-service
component: data-rotation
spec:
schedule: "0 2 1 * *"
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
concurrencyPolicy: Forbid
jobTemplate:
metadata:
labels:
app: external-service
job: data-rotation
spec:
ttlSecondsAfterFinished: 172800
backoffLimit: 2
template:
metadata:
labels:
app: external-service
cronjob: data-rotation
spec:
restartPolicy: OnFailure
containers:
- name: data-rotator
image: bakery/external-service:latest
imagePullPolicy: Always
command:
- python
- -m
- app.jobs.rotate_data
args:
- "--log-level=INFO"
- "--notify-slack=true"
envFrom:
- configMapRef:
name: bakery-config
- secretRef:
name: database-secrets
- secretRef:
name: external-api-secrets
- secretRef:
name: monitoring-secrets
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"