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:" echo "POSTGRES_NAME: $POSTGRES_NAME" echo "POSTGRES_HOSTNAME: $POSTGRES_HOSTNAME" echo "POSTGRES_PORT: $POSTGRES_PORT" echo "POSTGRES_USER: $POSTGRES_USER" echo "Testing direct connection..." PGPASSWORD=$POSTGRES_PASSWORD psql -h $POSTGRES_HOSTNAME -p $POSTGRES_PORT -U $POSTGRES_USER -d $POSTGRES_NAME -c "SELECT 1" echo "Testing MikroORM connection..." node -e " const { PostgreSqlDriver } = require('@mikro-orm/postgresql'); const { MikroORM } = require('@mikro-orm/core'); const config = { driver: PostgreSqlDriver, dbName: process.env.POSTGRES_NAME, host: process.env.POSTGRES_HOSTNAME, port: parseInt(process.env.POSTGRES_PORT), user: process.env.POSTGRES_USER, password: process.env.POSTGRES_PASSWORD, }; console.log('MikroORM config:', config); MikroORM.init(config).then(orm => { console.log('Connected successfully!'); orm.close(); }).catch(err => { console.error('Connection failed:', err); process.exit(1); }); " echo "Running migrations and seeds..." npx mikro-orm migration:up npm run seed env: {{- range $key, $val := .Values.backend.env }} - name: {{ $key }} value: "{{ $val }}" {{- end }} restartPolicy: Never