apiVersion: batch/v1 kind: Job metadata: name: fusero-backend-db-init spec: backoffLimit: 0 template: metadata: name: fusero-backend-db-init spec: imagePullSecrets: - name: regcred containers: - name: migrate-seed image: {{ .Values.backend.image }} command: ["/bin/sh", "-c"] args: - | echo "=== Environment Variables ===" env | grep -i postgres echo "=== Testing Connection ===" PGPASSWORD=$POSTGRES_PASSWORD psql "postgresql://$POSTGRES_USER@$POSTGRES_HOSTNAME:$POSTGRES_PORT/$POSTGRES_NAME" -c "SELECT 1" echo "=== Running Migrations ===" npx mikro-orm migration:up echo "=== Running Seeds ===" npm run seed env: - name: POSTGRES_HOSTNAME value: "postgres-service" - name: POSTGRES_PORT value: "5432" - name: POSTGRES_NAME value: "fusero-db" - name: POSTGRES_USER value: "prod_admin" - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: fusero-backend-secrets key: POSTGRES_PASSWORD - name: NODE_ENV value: "production" - name: DEFAULT_ADMIN_USERNAME value: "{{ .Values.backend.env.DEFAULT_ADMIN_USERNAME }}" - name: DEFAULT_ADMIN_EMAIL value: "{{ .Values.backend.env.DEFAULT_ADMIN_EMAIL }}" - name: DEFAULT_ADMIN_PASSWORD valueFrom: secretKeyRef: name: fusero-backend-secrets key: DEFAULT_ADMIN_PASSWORD - name: JWT_SECRET valueFrom: secretKeyRef: name: fusero-backend-secrets key: JWT_SECRET - name: CHATGPT_API_KEY valueFrom: secretKeyRef: name: fusero-backend-secrets key: CHATGPT_API_KEY - name: CANVAS_API_KEY valueFrom: secretKeyRef: name: fusero-backend-secrets key: CANVAS_API_KEY - name: CANVAS_API_URL value: "{{ .Values.backend.env.CANVAS_API_URL }}" restartPolicy: Never