deployments.yaml 10 KB

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