Files
k8s-version-tracker/kubernetes/upgrade-cronjob.yaml
T

67 lines
2.2 KiB
YAML
Raw Normal View History

---
apiVersion: batch/v1
kind: CronJob
metadata:
name: upgrade-requester
namespace: k8s-version-tracker
labels:
app: upgrade-requester
spec:
# Every Monday at 09:00 UTC — one day after the Sunday version report
schedule: "0 9 * * 1"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
jobTemplate:
spec:
# 90 minutes: 60m approval window + time to clone, update, and push
activeDeadlineSeconds: 5400
template:
metadata:
labels:
app: upgrade-requester
spec:
serviceAccountName: upgrade-requester
restartPolicy: Never
containers:
- name: upgrade-requester
image: registry.storedbox.net/k8s-version-tracker:latest
imagePullPolicy: Always
command: ["python", "request_upgrades.py"]
env:
- name: MATTERMOST_WEBHOOK_URL
valueFrom:
secretKeyRef:
name: version-tracker-secrets
key: MATTERMOST_WEBHOOK_URL
- name: GITEA_TOKEN
valueFrom:
secretKeyRef:
name: version-tracker-secrets
key: GITEA_TOKEN
- name: GITEA_REPO_URL
value: "https://repo.adservio.us/ai_approver/argocd-gitops.git"
- name: GITEA_USERNAME
value: "ai_approver"
- name: GITEA_COMMITTER_NAME
value: "k8s-version-tracker"
- name: GITEA_COMMITTER_EMAIL
value: "k8s-version-tracker@themosers.club"
- name: APPROVAL_MIDDLEWARE_URL
value: "http://192.168.87.14:8085"
- name: APPROVAL_TIMEOUT_MINUTES
value: "60"
- name: APPROVAL_POLL_INTERVAL
value: "30"
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
---
# Manual trigger:
# kubectl create job --from=cronjob/upgrade-requester upgrade-manual -n k8s-version-tracker