apiVersion: batch/v1
kind: Job
metadata:
name: postgres-restore
spec:
template:
spec:
containers:
- name: restore
image: postgres:13
volumeMounts:
- name: backup-storage
mountPath: /backups
- name: restore-script
mountPath: /scripts
command: ["/bin/bash", "/scripts/restore.sh", "/backups/postgres-backup-<date>.sql"]
env:
- name: PGHOST
value: "postgres"
- name: PGUSER
value: "metad_user"
- name: PGPASSWORD
value: "metad_pass"
restartPolicy: OnFailure
volumes:
- name: backup-storage
persistentVolumeClaim:
claimName: backup-pvc
- name: restore-script
configMap:
name: restore-script
---
apiVersion: v1
kind: ConfigMap
metadata:
name: restore-script
data:
restore.sh: |
#!/bin/bash
BACKUP_FILE=$1
if [ -z "$BACKUP_FILE" ]; then
echo "Usage: