apiVersion: batch/v1 kind: Job metadata: name: {{ include "graphql.fullname" . }}-database-migration labels: {{- include "graphql.labels" . | nindent 4 }} annotations: "helm.sh/hook": post-install,pre-upgrade "helm.sh/hook-weight": "-1" "helm.sh/hook-delete-policy": before-hook-creation spec: template: spec: serviceAccountName: {{ include "graphql.serviceAccountName" . }} {{- with .Values.global.database.gcloud }} {{- if .enabled }} initContainers: - name: wait-for-cloud-sql-proxy image: busybox:1.36.1 imagePullPolicy: IfNotPresent command: - /bin/sh - -ec - | until wget -q -T 2 -O /dev/null "http://{{ $.Values.global.database.host }}:9801/startup"; do echo "waiting for cloud sql proxy to become ready" sleep 2 done {{- end }} {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" command: ["yarn", "predeploy"] env: - name: NODE_ENV value: "{{ .Values.env }}" - name: AFFINE_ENV value: "{{ .Release.Namespace }}" - name: DEPLOYMENT_TYPE value: "{{ .Values.global.deployment.type }}" - name: DEPLOYMENT_PLATFORM value: "{{ .Values.global.deployment.platform }}" - name: DATABASE_PASSWORD valueFrom: secretKeyRef: name: pg-postgresql key: postgres-password - name: DATABASE_URL value: postgres://{{ .Values.global.database.user }}:$(DATABASE_PASSWORD)@{{ .Values.global.database.host }}:{{ .Values.global.database.port }}/{{ .Values.global.database.name }} - name: REDIS_SERVER_HOST value: "{{ .Values.global.redis.host }}" - name: REDIS_SERVER_PORT value: "{{ .Values.global.redis.port }}" - name: REDIS_SERVER_USER value: "{{ .Values.global.redis.username }}" - name: REDIS_SERVER_PASSWORD valueFrom: secretKeyRef: name: redis key: redis-password - name: AFFINE_INDEXER_SEARCH_PROVIDER value: "{{ .Values.global.indexer.provider }}" - name: AFFINE_INDEXER_SEARCH_ENDPOINT value: "{{ .Values.global.indexer.endpoint }}" - name: AFFINE_INDEXER_SEARCH_API_KEY valueFrom: secretKeyRef: name: indexer key: indexer-apiKey resources: requests: cpu: '100m' memory: '200Mi' restartPolicy: Never backoffLimit: 1