_deployementSpec.tpl 1.3 KB

1234567891011121314151617181920212223242526272829
  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: {{ $objectData.replicas | default 1 }}
  15. revisionHistoryLimit: {{ $objectData.revisionHistoryLimit | default 3 }}
  16. strategy:
  17. type: {{ $strategy }}
  18. {{- if and (eq $objectData.strategy "RollingUpdate") $objectData.rollingUpdate -}}
  19. {{ if (or (hasKey $objectData.rollingUpdate "maxUnavailable") (hasKey $objectData.rollingUpdate "maxSurge")) }}
  20. rollingUpdate:
  21. {{- if hasKey $objectData.rollingUpdate "maxUnavailable" }}
  22. maxUnavailable: {{ $objectData.rollingUpdate.maxUnavailable }}
  23. {{- end -}}
  24. {{- if hasKey $objectData.rollingUpdate "maxSurge" }}
  25. maxSurge: {{ $objectData.rollingUpdate.maxSurge }}
  26. {{- end -}}
  27. {{- end -}}
  28. {{- end -}}
  29. {{- end -}}