_deployementSpec.tpl 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. {{/* Deployment Spec */}}
  2. {{/* Call this template:
  3. {{ include "ix.v1.common.lib.workload.deploymentSpec" (dict "rootCtx" $rootCtx "objectData" $objectData) -}}
  4. rootCtx: The root context of the chart.
  5. objectData:
  6. replicas: The number of replicas.
  7. revisionHistoryLimit: The number of old ReplicaSets to retain to allow rollback.
  8. strategy: The deployment strategy to use to replace existing pods with new ones.
  9. */}}
  10. {{- define "ix.v1.common.lib.workload.deploymentSpec" -}}
  11. {{- $objectData := .objectData -}}
  12. {{- $rootCtx := .rootCtx -}}
  13. {{- $strategy := $objectData.strategy | default "Recreate" -}}
  14. {{- $replicas := 1 -}}
  15. {{- if hasKey $objectData "replicas" -}}
  16. {{- $replicas = $objectData.replicas -}}
  17. {{- end -}}
  18. {{- if (include "ix.v1.common.helper.isStopped" $rootCtx) -}}
  19. {{- $replicas = 0 -}}
  20. {{- end }}
  21. replicas: {{ $replicas }}
  22. revisionHistoryLimit: {{ $objectData.revisionHistoryLimit | default 3 }}
  23. strategy:
  24. type: {{ $strategy }}
  25. {{- if and (eq $objectData.strategy "RollingUpdate") $objectData.rollingUpdate -}}
  26. {{ if (or (hasKey $objectData.rollingUpdate "maxUnavailable") (hasKey $objectData.rollingUpdate "maxSurge")) }}
  27. rollingUpdate:
  28. {{- if hasKey $objectData.rollingUpdate "maxUnavailable" }}
  29. maxUnavailable: {{ $objectData.rollingUpdate.maxUnavailable }}
  30. {{- end -}}
  31. {{- if hasKey $objectData.rollingUpdate "maxSurge" }}
  32. maxSurge: {{ $objectData.rollingUpdate.maxSurge }}
  33. {{- end -}}
  34. {{- end -}}
  35. {{- end -}}
  36. {{- end -}}