Merge branch 'master' of ssh://strix.systems:40022/home/ntr/repos/strix

This commit is contained in:
Nathan Rashleigh 2025-01-11 13:19:53 +11:00
commit ae4d18443f

88
crates/crates.cron.yaml Normal file
View File

@ -0,0 +1,88 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: crates-postgres-backup-pv
spec:
storageClassName: ""
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
claimRef:
namespace: default
name: crates-postgres-backup-pvc
hostPath:
# Into homedir so we can scp it ez
path: "/home/ntr/archives/crates-postgres"
type: DirectoryOrCreate
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: crates-postgres-backup-pvc
spec:
volumeName: crates-postgres-backup-pv
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: crates-db-backup
spec:
schedule: "20 4 * * *"
jobTemplate:
spec:
template:
metadata:
labels:
app: crates-postgres-backup
spec:
restartPolicy: Never
containers:
- name: crates-postgres-backup
image: postgres:16
command:
- "/bin/sh"
- "-c"
-
|
cd /mnt/dest/
TZ="Australia/Melbourne"
TIMESTAMP=$(date '+%Y-%m-%d-%H-%M-%S')
DEST=crates-$TIMESTAMP.sql.gz
echo "Backing up to $DEST"
pg_dump --dbname=$POSTGRES_URL | gzip > $DEST
echo "Backup Complete"
echo "Removing old copies..."
find . -type f -name "*.sql.gz" -mtime 7 | xargs rm -v
echo "Setting latest link..."
ln -nfs $DEST latest.sql.gz
env:
- name: POSTGRES_URL
valueFrom:
secretKeyRef:
name: crates
key: POSTGRES_URL
volumeMounts:
- name: crates-postgres-backup-storage
mountPath: /mnt/dest
volumes:
- name: crates-postgres-backup-storage
persistentVolumeClaim:
claimName: crates-postgres-backup-pvc
---