--- apiVersion: batch/v1 kind: CronJob metadata: name: &app cloudflare-ddns namespace: default spec: schedule: "@hourly" concurrencyPolicy: Forbid successfulJobsHistoryLimit: 1 failedJobsHistoryLimit: 2 jobTemplate: spec: ttlSecondsAfterFinished: 3600 template: spec: automountServiceAccountToken: false restartPolicy: OnFailure containers: - name: *app image: ghcr.io/onedr0p/kubernetes-kubectl:1.25.4@sha256:ba26842ad0ad09b368cf5f747a6052b7d5f99d7638462b4ab08288c529866049 envFrom: - secretRef: name: *app command: - "/bin/bash" - &scriptPath "/app/cloudflare-ddns.sh" volumeMounts: - name: *app mountPath: *scriptPath subPath: &scriptName cloudflare-ddns.sh readOnly: true volumes: - name: *app projected: defaultMode: 0775 sources: - configMap: name: *app items: - key: *scriptName path: *scriptName