fusero-app-boilerplate/chart/templates/backend-migration.job.yaml
liquidrinu 4a7532fb85
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 6m2s
fix: use POSTGRES_PASSWORD from secret instead of hardcoded value
2025-05-30 22:33:31 +02:00

70 lines
2.4 KiB
YAML

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