cronjob.yaml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. {{ $cronjob_values := (. | mustDeepCopy) }}
  2. {{ $_ := set $cronjob_values "common" (dict "nameSuffix" "cronjob") }}
  3. {{ $hostName := .Values.nextcloud.host }}
  4. {{ if .Values.useServiceNameForHost }}
  5. {{ $hostName = (include "common.names.fullname" .) }}
  6. {{ end }}
  7. {{if .Values.cronjob.enabled }}
  8. apiVersion: batch/v1
  9. kind: CronJob
  10. metadata:
  11. name: {{ template "common.names.fullname" $cronjob_values }}
  12. labels:
  13. app: {{ template "common.names.name" $cronjob_values }}
  14. chart: {{ template "common.names.chart" $cronjob_values }}
  15. release: {{ .Release.Name }}
  16. annotations:
  17. rollme: {{ randAlphaNum 5 | quote }}
  18. spec:
  19. schedule: "{{ .Values.cronjob.schedule }}"
  20. concurrencyPolicy: Forbid
  21. failedJobsHistoryLimit: 2
  22. successfulJobsHistoryLimit: 1
  23. jobTemplate:
  24. metadata:
  25. labels:
  26. app: {{ template "common.names.name" $cronjob_values }}
  27. release: {{ .Release.Name }}
  28. {{- include "common.labels.selectorLabels" $cronjob_values | nindent 8 }}
  29. spec:
  30. template:
  31. metadata:
  32. labels:
  33. app: {{ template "common.names.name" $cronjob_values }}
  34. release: {{ .Release.Name }}
  35. {{- include "common.labels.selectorLabels" $cronjob_values | nindent 12 }}
  36. spec:
  37. restartPolicy: Never
  38. containers:
  39. - name: {{ .Chart.Name }}-cronjob
  40. image: "{{.Values.image.repository }}:{{.Values.image.tag }}"
  41. imagePullPolicy: {{ .Values.image.pullPolicy }}
  42. {{- if .Values.certificate }}
  43. command: [ "curl" ,"-k" , "https://{{ $hostName }}:{{.Values.service.nodePort}}/cron.php"]
  44. {{- else }}
  45. command: [ "curl" , "http://{{ $hostName }}:{{.Values.service.nodePort}}/cron.php"]
  46. {{- end }}
  47. {{ end }}