cronjobs.yaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. {{- $name := .Chart.Name }}
  2. {{- $globalAnnotationsCheck := include "global.annotations.check" . }}
  3. {{- $globalContEnvsCheck := include "global.containers.envs.check" . }}
  4. {{- $globalContExtraCheck := include "global.containers.extraEnvs.check" . }}
  5. {{- $globalContRegistry := include "global.containers.registry" . }}
  6. {{- $globalInitEnvsCheck := include "global.initContainers.envs.check" . }}
  7. {{- $globalInitExtraCheck := include "global.initContainers.extraEnvs.check" . }}
  8. {{- $globalInitRegistry := include "global.initContainers.registry" . }}
  9. {{- range $index, $val := .Values.items }}
  10. {{- if or (eq $val.type "cronjob") $val.schedule }}
  11. {{- if or $val.type $val.name | required "for cronJobs need .type or .name !" }}
  12. apiVersion: batch/v1beta1
  13. kind: CronJob
  14. metadata:
  15. {{- if or $val.annotations $globalAnnotationsCheck }}
  16. annotations:
  17. {{- if $val.annotations }}
  18. {{- toYaml $val.annotations | nindent 4 }}
  19. {{- end }}
  20. {{- if $globalAnnotationsCheck }}
  21. {{- range $Index, $Val := $.Values.items }}
  22. {{- if eq $Val.type "global" }}
  23. {{- toYaml $Val.annotations | nindent 4 }}
  24. {{- end }}{{- end }}{{- end }}
  25. {{- end }}
  26. name: {{ print $val.name | default (print $name "-" $val.type "-" $index) }}
  27. labels:
  28. app: {{ $name }}
  29. tier: {{ $val.name | default (print $name "-" $val.type) }}
  30. spec:
  31. schedule: {{ $val.schedule }}
  32. concurrencyPolicy: {{ $val.concurrencyPolicy | default (print "Forbid") }}
  33. {{- if $val.successfulJobsHistoryLimit }}
  34. successfulJobsHistoryLimit: {{ $val.successfulJobsHistoryLimit }}
  35. {{- end }}
  36. {{- if $val.failedJobsHistoryLimit }}
  37. failedJobsHistoryLimit: {{ $val.failedJobsHistoryLimit }}
  38. {{- end }}
  39. jobTemplate:
  40. metadata:
  41. labels:
  42. app: {{ $name }}
  43. tier: {{ $val.name | default (print $name "-" $val.type) }}
  44. spec:
  45. {{- if $val.backoffLimit }}
  46. backoffLimit: {{ $val.backoffLimit }}
  47. {{- end }}
  48. {{- if $val.activeDeadlineSeconds }}
  49. activeDeadlineSeconds: {{ $val.activeDeadlineSeconds }}
  50. {{- end }}
  51. template:
  52. spec:
  53. {{- if $val.volumes }}
  54. volumes:
  55. {{- toYaml .volumes | indent 12 }}
  56. {{- end }}
  57. restartPolicy: {{ $val.restartPolicy | default (print "OnFailure") }}
  58. {{- if $val.imagePullSecrets.enabled }}
  59. imagePullSecrets:
  60. - name: {{ $val.imagePullSecrets.name | default (print $name "-dockerconfig") }}
  61. {{- end }}
  62. {{- if $val.initContainers }}
  63. initContainers:
  64. {{- range $indexInitContainers, $valInitContainers := $val.initContainers }}
  65. - name: {{ $valInitContainers.name | default (print $name "-init-" $indexInitContainers) }}
  66. {{- if not $globalInitRegistry }}
  67. image: {{ print (default "registry.hub.docker.com" $valInitContainers.registry) "/"
  68. $valInitContainers.image ":" (default "latest" $valInitContainers.imageTag ) }}
  69. {{- else }}
  70. image: {{ print $globalInitRegistry "/"
  71. $valInitContainers.image ":" (default "latest" $valInitContainers.imageTag ) }}
  72. {{- end }}
  73. {{- with $valInitContainers.command }}
  74. command:
  75. {{- toYaml . | nindent 16 }}
  76. {{- end }}
  77. {{- with $valInitContainers.args }}
  78. args:
  79. {{- toYaml . | nindent 16 }}
  80. {{- end }}
  81. {{- with $valInitContainers.volumeMounts }}
  82. volumeMounts:
  83. {{- toYaml . | nindent 16 }}
  84. {{- end }}
  85. {{- with $valInitContainers.resources }}
  86. resources:
  87. {{- toYaml . | nindent 16 }}
  88. {{- end }}
  89. {{- with $valInitContainers.ports }}
  90. ports:
  91. {{- toYaml . | nindent 16 }}
  92. {{- end }}
  93. {{- if $valInitContainers.imagePullPolicy }}
  94. imagePullPolicy: {{ $valInitContainers.imagePullPolicy }}
  95. {{- end }}
  96. {{- if not (or $valInitContainers.envs $globalInitEnvsCheck) }}
  97. {{- if or $valInitContainers.configMap $valInitContainers.secret $valInitContainers.extraEnvs $globalInitExtraCheck }}
  98. {{- if or $valInitContainers.configMap $valInitContainers.secret }}
  99. {{- if or $valInitContainers.configMap.enabled $valInitContainers.secret.enabled }}
  100. envFrom:
  101. {{- if $valInitContainers.configMap.enabled }}
  102. - configMapRef:
  103. name: {{ $valInitContainers.configMap.name | default (print $name "-config") }}
  104. {{- end }}
  105. {{- if $valInitContainers.secret.enabled }}
  106. - secretRef:
  107. name: {{ $valInitContainers.secret.name | default (print $name "-secret") }}
  108. {{- end }}
  109. {{- end }}{{- end }}
  110. {{- if or $valInitContainers.extraEnvs $globalInitExtraCheck }}
  111. env:
  112. {{- if $valInitContainers.extraEnvs }}
  113. {{- range $valInitContainers.extraEnvs }}{{- if .value }}
  114. - name: {{ .name }}
  115. value: {{ .value | quote }}
  116. {{- end }}{{- end }}{{- end }}
  117. {{- range $Ind, $Val := $.Values.items }}
  118. {{- if eq $Val.type "global" }}
  119. {{- range $_, $containers := $Val.containers }}
  120. {{- range $__, $containersExtraEnvs := $containers.extraEnvs }}{{- if $containersExtraEnvs.value }}
  121. - name: {{ $containersExtraEnvs.name }}
  122. value: {{ $containersExtraEnvs.value | quote }}
  123. {{- end }}{{- end }}{{- end }}
  124. {{- end }}{{- end }}
  125. {{- end }}
  126. {{- end }}
  127. {{- else }}
  128. env:
  129. {{- if and (not $globalInitEnvsCheck) $valInitContainers.envs }}
  130. {{- range $valInitContainers.envs }}{{- if .value }}
  131. - name: {{ .name }}
  132. value: {{ .value | quote }}
  133. {{- end }}{{- end }}{{- end }}
  134. {{- if $globalInitEnvsCheck }}
  135. {{- range $Ind, $Val := $.Values.items }}
  136. {{- if eq $Val.type "global" }}
  137. {{- range $_, $containers := $Val.containers }}
  138. {{- range $__, $containersEnvs := $containers.envs }}{{- if $containersEnvs.value }}
  139. - name: {{ $containersEnvs.name }}
  140. value: {{ $containersEnvs.value | quote }}
  141. {{- end }}{{- end }}{{- end }}
  142. {{- end }}{{- end }}
  143. {{- end }}
  144. {{- end }}
  145. {{- end }}
  146. {{- end }}
  147. {{- if $val.containers }}
  148. containers:
  149. {{- range $indexContainers, $valContainers := $val.containers }}
  150. - name: {{ $valContainers.name | default (print $name "-cont-" $indexContainers) }}
  151. {{- if not $globalContRegistry }}
  152. image: {{ print (default "registry.hub.docker.com" $valContainers.registry) "/"
  153. $valContainers.image ":" (default "latest" $valContainers.imageTag ) }}
  154. {{- else }}
  155. image: {{ print $globalContRegistry "/"
  156. $valContainers.image ":" (default "latest" $valContainers.imageTag ) }}
  157. {{- end }}
  158. {{- with $valContainers.command }}
  159. command:
  160. {{- toYaml . | nindent 16 }}
  161. {{- end }}
  162. {{- with $valContainers.args }}
  163. args:
  164. {{- toYaml . | nindent 16 }}
  165. {{- end }}
  166. {{- with $valContainers.volumeMounts }}
  167. volumeMounts:
  168. {{- toYaml . | nindent 16 }}
  169. {{- end }}
  170. {{- with $valContainers.livenessProbe }}
  171. livenessProbe:
  172. {{- toYaml . | nindent 16 }}
  173. {{- end }}
  174. {{- with $valContainers.readinessProbe }}
  175. readinessProbe:
  176. {{- toYaml . | nindent 16 }}
  177. {{- end }}
  178. {{- with $valContainers.resources }}
  179. resources:
  180. {{- toYaml . | nindent 16 }}
  181. {{- end }}
  182. {{- with $valContainers.ports }}
  183. ports:
  184. {{- toYaml . | nindent 16 }}
  185. {{- end }}
  186. {{- if $valContainers.imagePullPolicy }}
  187. imagePullPolicy: {{ $valContainers.imagePullPolicy }}
  188. {{- end }}
  189. {{- if not (or $valContainers.envs $globalContEnvsCheck) }}
  190. {{- if or $valContainers.configMap $valContainers.secret $valContainers.extraEnvs $globalContExtraCheck }}
  191. {{- if or $valContainers.configMap $valContainers.secret }}
  192. {{- if or $valContainers.configMap.enabled $valContainers.secret.enabled }}
  193. envFrom:
  194. {{- if $valContainers.configMap.enabled }}
  195. - configMapRef:
  196. name: {{ $valContainers.configMap.name | default (print $name "-config") }}
  197. {{- end }}
  198. {{- if $valContainers.secret.enabled }}
  199. - secretRef:
  200. name: {{ $valContainers.secret.name | default (print $name "-secret") }}
  201. {{- end }}
  202. {{- end }}{{- end }}
  203. {{- if or $valContainers.extraEnvs $globalContExtraCheck }}
  204. env:
  205. {{- if $valContainers.extraEnvs }}
  206. {{- range $valContainers.extraEnvs }}{{- if .value }}
  207. - name: {{ .name }}
  208. value: {{ .value | quote }}
  209. {{- end }}{{- end }}{{- end }}
  210. {{- range $Ind, $Val := $.Values.items }}
  211. {{- if eq $Val.type "global" }}
  212. {{- range $_, $containers := $Val.containers }}
  213. {{- range $__, $containersExtraEnvs := $containers.extraEnvs }}{{- if $containersExtraEnvs.value }}
  214. - name: {{ $containersExtraEnvs.name }}
  215. value: {{ $containersExtraEnvs.value | quote }}
  216. {{- end }}{{- end }}{{- end }}
  217. {{- end }}{{- end }}
  218. {{- end }}
  219. {{- end }}
  220. {{- else }}
  221. env:
  222. {{- if and (not $globalContEnvsCheck) $valContainers.envs }}
  223. {{- range $valContainers.envs }}{{- if .value }}
  224. - name: {{ .name }}
  225. value: {{ .value | quote }}
  226. {{- end }}{{- end }}{{- end }}
  227. {{- if $globalContEnvsCheck }}
  228. {{- range $Ind, $Val := $.Values.items }}
  229. {{- if eq $Val.type "global" }}
  230. {{- range $_, $containers := $Val.containers }}
  231. {{- range $__, $containersEnvs := $containers.envs }}{{- if $containersEnvs.value }}
  232. - name: {{ $containersEnvs.name }}
  233. value: {{ $containersEnvs.value | quote }}
  234. {{- end }}{{- end }}{{- end }}
  235. {{- end }}{{- end }}
  236. {{- end }}
  237. {{- end }}
  238. {{- end }}
  239. {{- end }}
  240. {{ print "---" }}
  241. {{- end }}{{- end }}{{- end }}