--- apiVersion: batch/v1 kind: CronJob metadata: name: version-tracker namespace: k8s-version-tracker labels: app: version-tracker spec: # Every Sunday at 09:00 UTC schedule: "0 9 * * 0" concurrencyPolicy: Forbid successfulJobsHistoryLimit: 3 failedJobsHistoryLimit: 3 jobTemplate: spec: template: metadata: labels: app: version-tracker spec: serviceAccountName: version-tracker restartPolicy: OnFailure containers: - name: version-tracker image: registry.storedbox.net/k8s-version-tracker:latest imagePullPolicy: Always env: - name: MATTERMOST_WEBHOOK_URL valueFrom: secretKeyRef: name: version-tracker-secrets key: MATTERMOST_WEBHOOK_URL - name: LOCAL_REGISTRY value: "registry.storedbox.net" - name: MIRROR_IMAGES value: "true" resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 256Mi --- # Mirror-only job — run this manually to pre-populate the local registry. # kubectl create job --from=cronjob/version-tracker mirror-images-manual -n k8s-version-tracker