apiVersion: batch/v1 kind: CronJob metadata: name: demo-session-cleanup namespace: bakery-ia labels: app: demo-cleanup component: maintenance spec: schedule: "0 * * * *" # Every hour timeZone: "Europe/Madrid" successfulJobsHistoryLimit: 3 failedJobsHistoryLimit: 3 concurrencyPolicy: Forbid jobTemplate: metadata: labels: app: demo-cleanup spec: imagePullSecrets: - name: dockerhub-creds template: metadata: labels: app: demo-cleanup spec: containers: - name: cleanup-trigger image: curlimages/curl:latest command: - sh - -c - | echo "Triggering demo session cleanup..." response=$(curl -s -w "\n%{http_code}" -X POST http://demo-session-service:8000/api/v1/demo/operations/cleanup) http_code=$(echo "$response" | tail -n 1) body=$(echo "$response" | sed '$d') echo "Response: $body" echo "HTTP Status: $http_code" if [ "$http_code" -ge 200 ] && [ "$http_code" -lt 300 ]; then echo "Cleanup job enqueued successfully" exit 0 else echo "Failed to enqueue cleanup job" exit 1 fi resources: requests: memory: "32Mi" cpu: "10m" limits: memory: "64Mi" cpu: "50m" restartPolicy: OnFailure activeDeadlineSeconds: 30