apiVersion: batch/v1 kind: Job metadata: name: {{ .Release.Name }}-db-seed annotations: "helm.sh/hook": pre-install,pre-upgrade "helm.sh/hook-weight": "-5" "helm.sh/hook-delete-policy": before-hook-creation #,hook-succeeded labels: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/component: database-seed spec: backoffLimit: 0 ttlSecondsAfterFinished: 86400 # 1 day activeDeadlineSeconds: 300 # 5 minutes template: spec: {{- if .Values.dockerconfigjsonBase64 }} imagePullSecrets: - name: {{ .Release.Name }}-container-registry {{- end }} containers: - name: {{ .Chart.Name }}-seed image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" command: ["/bin/sh", "-c"] args: - | npm install esbuild --no-save npx esbuild prisma/seed.ts --outfile=/app/cache/seed.cjs --bundle --format=cjs --external:prisma --external:@prisma/client --platform=node node /app/cache/seed.cjs envFrom: - configMapRef: name: {{ .Release.Name }}-config - secretRef: name: {{ .Release.Name }}-database - secretRef: name: {{ .Release.Name }}-nextauth volumeMounts: - mountPath: /app/cache name: cache-volume resources: {{- toYaml .Values.seed.resources | nindent 10 }} restartPolicy: Never volumes: - name: cache-volume emptyDir: sizeLimit: 2Mi