_container.tpl 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {{/* Returns Container */}}
  2. {{/* Call this template:
  3. {{ include "ix.v1.common.lib.pod.container" (dict "rootCtx" $ "objectData" $objectData) }}
  4. rootCtx: The root context of the chart.
  5. objectData: The object data to be used to render the Pod.
  6. */}}
  7. {{- define "ix.v1.common.lib.pod.container" -}}
  8. {{- $rootCtx := .rootCtx -}}
  9. {{- $objectData := .objectData -}}
  10. {{- $imageObj := fromJson (include "ix.v1.common.lib.container.imageSelector" (dict "rootCtx" $rootCtx "objectData" $objectData)) -}}
  11. {{- $termination := fromJson (include "ix.v1.common.lib.container.termination" (dict "rootCtx" $rootCtx "objectData" $objectData)) }}
  12. - name: {{ $objectData.name }}
  13. image: {{ printf "%s:%s" $imageObj.repository $imageObj.tag }}
  14. imagePullPolicy: {{ $imageObj.pullPolicy }}
  15. tty: {{ $objectData.tty | default false }}
  16. stdin: {{ $objectData.stdin | default false }}
  17. {{- with (include "ix.v1.common.lib.container.command" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim) }}
  18. command:
  19. {{- . | nindent 4 }}
  20. {{- end -}}
  21. {{- with (include "ix.v1.common.lib.container.args" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim) }}
  22. args:
  23. {{- . | nindent 4 }}
  24. {{- end -}}
  25. {{- with $termination.messagePath }}
  26. terminationMessagePath: {{ . }}
  27. {{- end -}}
  28. {{- with $termination.messagePolicy }}
  29. terminationMessagePolicy: {{ . }}
  30. {{- end -}}
  31. {{- with (include "ix.v1.common.lib.container.lifecycle" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim) }}
  32. lifecycle:
  33. {{- . | nindent 4 }}
  34. {{- end -}}
  35. {{- with (include "ix.v1.common.lib.container.ports" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim) }}
  36. ports:
  37. {{- . | nindent 4 }}
  38. {{- end -}}
  39. {{- with (include "ix.v1.common.lib.container.volumeMount" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim) }}
  40. volumeMounts:
  41. {{- . | nindent 4 }}
  42. {{- end -}}
  43. {{- include "ix.v1.common.lib.container.probes" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim | nindent 2 -}}
  44. {{- with (include "ix.v1.common.lib.container.resources" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim) }}
  45. resources:
  46. {{- . | nindent 4 }}
  47. {{- end }}
  48. securityContext:
  49. {{- include "ix.v1.common.lib.container.securityContext" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim | nindent 4 }}
  50. {{- /* Create a dict for storing env's so it can be checked for dupes */ -}}
  51. {{- $_ := set $objectData "envDupe" dict -}}
  52. {{- with (include "ix.v1.common.lib.container.envFrom" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim) }}
  53. envFrom:
  54. {{- . | nindent 4 }}
  55. {{- end }}
  56. env:
  57. {{- include "ix.v1.common.lib.container.fixedEnv" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim | nindent 4 -}}
  58. {{- include "ix.v1.common.lib.container.env" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim | nindent 4 -}}
  59. {{- include "ix.v1.common.lib.container.envList" (dict "rootCtx" $rootCtx "objectData" $objectData) | trim | nindent 4 -}}
  60. {{- $_ := unset $objectData "envDupe" -}}
  61. {{- end -}}