apiVersion: batch/v1 kind: Job metadata: name: {{ .Release.Name }}-migrations-{{ now | unixEpoch }} labels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: "database-migrations" batch.kubernetes.io/job-name: {{ .Release.Name }}-migrations-{{ now | unixEpoch }} spec: ttlSecondsAfterFinished: 604800 # 1 week in seconds template: metadata: labels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: "database-migrations" batch.kubernetes.io/job-name: {{ .Release.Name }}-migrations-{{ now | unixEpoch }} spec: containers: - name: migrations image: "{{ .Values.migrations.image.repository }}:{{ .Values.migrations.image.tag }}" command: ["/usr/local/bin/migrate"] args: ["-path", "/srv/migrations/", "-database", "$MIGRATE_DATABASE_URL", "up"] env: - name: MIGRATE_DATABASE_URL valueFrom: secretKeyRef: name: {{ .Release.Name }} key: "database_url.txt" {{- with .Values.migrations.resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} restartPolicy: Never backoffLimit: 0