{{- if .Values.dbPrepare.enabled }} apiVersion: batch/v1 kind: Job # runs once and then stops metadata:

name: {{ template "<%= Tpt::Rails.app_name %>.fullname" . }}-db-prepare
labels:
  app: {{ template "<%= Tpt::Rails.app_name %>.name" . }}
  chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
  release: "{{ .Release.Name }}"
  heritage: "{{ .Release.Service }}"
  tpt/project: "{{ .Chart.Name }}"
  tpt/owner: {{ .Values.annotations.owner }}
  tpt/creator: {{ .Values.annotations.creator | default "UNKNOWN" | quote }}
  tpt/release: "{{ .Release.Name }}"
  tpt/costEnv: {{ .Values.annotations.costEnv | quote }}
  tpt/costCategory: {{ .Values.annotations.costCategory | quote }}
annotations:
  # post-install: after initial creation of stack, pre-upgrade: before deploying new code
  "helm.sh/hook": "post-install,pre-upgrade"
  "helm.sh/hook-delete-policy": "before-hook-creation"
  "helm.sh/hook-weight": "0"

spec:

template:
  metadata:
    labels:
      app: {{ template "<%= Tpt::Rails.app_name %>.name" . }}
      release: {{ .Release.Name }}
    annotations:
      buildID: "{{ .Values.buildID }}"
      sidecar.istio.io/inject: "false"
  spec:
    restartPolicy: Never
    imagePullSecrets:
    - name: {{ .Values.imagePullSecrets.name }}
    containers:
    - name: {{ template "<%= Tpt::Rails.app_name %>.fullname" . }}
      # This references our images on Docker hub
      {{- if .Values.revision }}
      # If a different container version has been specified, use it
      image: "teacherspayteachers/{{ .Values.image.name }}:{{ .Values.revision }}"
      {{- else }}
      image: "teacherspayteachers/{{ .Values.image.name }}:{{ .Values.image.tag }}"
      {{- end }}
      imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
      command: ["/bin/sh"]
      # This is what causes a different command to be run for this job
      args: ["-c", "{{ .Values.dbPrepare.command }}"]
      # Specifies provisioning requests & limits (memory and CPU)
      resources:
        limits:
          memory: {{ .Values.resources.limits.memory }}
          cpu: {{ .Values.resources.limits.cpu }}
        requests:
          memory: {{ .Values.resources.requests.memory }}
          cpu: {{ .Values.resources.requests.cpu }}
      env:
        {{- include "env" . | indent 10 }}
        {{- include "<%= Tpt::Rails.app_name %>.services" . | nindent 10 }}
        {{- if .Values.secrets }}
        {{ toYaml .Values.secrets | trim | nindent 10 }}
        {{- end }}

{{- end -}}