Files

49 lines
2.0 KiB
YAML

{{- $databaseUrl := $.Values.global.databaseUrl | default "" }}
{{- $schemaManagementMode := $.Values.global.schemaManagementMode | default "legacy" }}
{{- $runMigrations := and $.Values.migrations.enabled (eq $schemaManagementMode "migrations") (or $.Values.profiles.scale500.enabled $databaseUrl) }}
{{- if $runMigrations }}
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Release.Name }}-db-migrate
namespace: {{ $.Values.namespace }}
annotations:
"helm.sh/hook": pre-install,pre-upgrade
"helm.sh/hook-weight": "-10"
"helm.sh/hook-delete-policy": "{{ $.Values.migrations.hookDeletePolicy }}"
spec:
backoffLimit: {{ $.Values.migrations.backoffLimit }}
activeDeadlineSeconds: {{ $.Values.migrations.activeDeadlineSeconds }}
ttlSecondsAfterFinished: {{ $.Values.migrations.ttlSecondsAfterFinished }}
template:
metadata:
labels:
app: {{ .Release.Name }}-db-migrate
spec:
restartPolicy: Never
{{- if $.Values.global.runtimeClass }}
runtimeClassName: {{ $.Values.global.runtimeClass }}
{{- end }}
containers:
- name: migrate
image: "{{ $.Values.image.repository }}:{{ $.Values.image.tag }}"
imagePullPolicy: {{ $.Values.global.imagePullPolicy }}
command:
- python
- scripts/migrate_core_db.py
env:
- name: CC_DATA_DIR
value: /var/lib/mvp-cc/data
- name: DATABASE_URL
value: "{{ if $.Values.profiles.scale500.enabled }}{{ required "global.databaseUrl is required when profiles.scale500.enabled=true" $.Values.global.databaseUrl }}{{ else }}{{ $databaseUrl }}{{ end }}"
- name: SCHEMA_MANAGEMENT_MODE
value: "{{ $schemaManagementMode }}"
resources:
requests:
cpu: {{ $.Values.migrations.resources.requests.cpu }}
memory: {{ $.Values.migrations.resources.requests.memory }}
limits:
cpu: {{ $.Values.migrations.resources.limits.cpu }}
memory: {{ $.Values.migrations.resources.limits.memory }}
{{- end }}