apiVersion: batch/v1 kind: Job metadata: name: {{ include "sebastian.fullname" . }}-migration annotations: "helm.sh/hook": pre-upgrade, post-install "helm.sh/hook-weight": "5" "helm.sh/hook-delete-policy": hook-succeeded, before-hook-creation spec: template: metadata: name: {{ include "sebastian.fullname" . }}-migration spec: restartPolicy: Never {{- if .Values.server.image.is_private }} imagePullSecrets: - name: "{{ .Values.server.image.credentials }}" {{- end }} containers: - name: migrate image: "{{ .Values.server.image.name }}:{{ .Values.server.image.tag }}" workingDir: /app command: ["npx", "knex", "--knexfile", "/app/server/knexfile.cjs", "migrate:latest", "--env", "migration", "--debug"] env: {{- if .Values.db.enabled }} - name: DB_HOST value: "db.{{ .Values.namespace }}.svc.cluster.local" - name: DB_USER_SERVER value: "app_user" - name: DB_USER_ADMIN value: "postgres" - name: DB_PORT value: "5432" - name: DB_NAME_SERVER value: "server" - name: DB_PASSWORD_SERVER valueFrom: secretKeyRef: name: db-credentials key: DB_PASSWORD_SERVER - name: DB_PASSWORD_ADMIN valueFrom: secretKeyRef: name: db-credentials key: DB_PASSWORD_SUPERUSER {{- else }} - name: APP_ENV value: "production" - name: DB_HOST value: "{{ .Values.config.db.host }}" - name: DB_USER_ADMIN value: "postgres" - name: DB_USER_SERVER value: "{{ .Values.config.db.user }}" - name: DB_PORT value: "{{ .Values.config.db.port }}" - name: DB_NAME_SERVER value: "{{ .Values.config.db.server_database }}" - name: DB_PASSWORD_ADMIN {{- if and .Values.config.db.server_password_admin_secret.name .Values.config.db.server_password_admin_secret.key }} valueFrom: secretKeyRef: name: {{ .Values.config.db.server_password_admin_secret.name | quote }} key: {{ .Values.config.db.server_password_admin_secret.key | quote }} namespace: {{ .Values.config.db.server_password_admin_secret.namespace | quote }} {{- else }} value: {{ .Values.config.db.server_admin_password | quote }} {{- end }} - name: DB_PASSWORD_SERVER {{- if and .Values.config.db.server_password_secret.name .Values.config.db.server_password_secret.key }} valueFrom: secretKeyRef: name: {{ .Values.config.db.server_password_secret.name | quote }} key: {{ .Values.config.db.server_password_secret.key | quote }} namespace: {{ .Values.config.db.server_password_admin_secret.namespace | quote }} {{- else }} value: {{ .Values.config.db.server_password | quote }} {{- end }} {{- end }}