{{- if .Values.cronjob.enabled }} apiVersion: batch/v1beta1 kind: CronJob metadata: name: {{ .Release.Name }}-migrations namespace: {{ .Release.Namespace }} spec: concurrencyPolicy: Forbid failedJobsHistoryLimit: 1 successfulJobsHistoryLimit: 1 schedule: "{{ .Values.cronjob.schedule }}" suspend: {{ .Values.cronjob.suspend }} jobTemplate: spec: backoffLimit: 1 template: spec: restartPolicy: Never containers: - args: {{- if .Values.cronjob.migrations.enabled }} - launch-migrations {{- else }} - echo - "Job done" {{- end }} envFrom: - configMapRef: name: {{ .Release.Name }} - secretRef: name: {{ .Release.Name }} env: {{- if .Values.app.deployment.pgBouncer.enabled }} - name: DATABASE_HOST value: {{ .Values.global.cloudSql.host }} - name: DATABASE_PORT value: "{{ .Values.global.configMap.databasePort }}" {{- end }} {{- if .Values.global.databaseController.secret.shared }} - name: DATABASE_NAME valueFrom: secretKeyRef: name: {{ .Values.global.databaseController.secret.name }}-{{ .Release.Name }} key: database-name - name: DATABASE_USER valueFrom: secretKeyRef: name: {{ .Values.global.databaseController.secret.name }}-{{ .Release.Name }} key: database-user - name: DATABASE_PASSWORD valueFrom: secretKeyRef: name: {{ .Values.global.databaseController.secret.name }}-{{ .Release.Name }} key: database-password {{- end }} image: {{ .Values.global.image.uwsgi }}:{{ .Values.global.image.tag }} imagePullPolicy: Always name: {{ .Release.Name }}-migrations resources: limits: cpu: 250m memory: 512Mi requests: cpu: 25m memory: 100Mi {{- end }}