From c141898c71e62e9ccd4a7137d89e806cbd1ee9d6 Mon Sep 17 00:00:00 2001 From: gitea-admin Date: Tue, 2 Jun 2026 13:19:16 +0000 Subject: [PATCH] fix: correct pelican PGHOST to match actual service name --- .../backups/pelican-pg-backup-cronjob.yaml | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 deployments/backups/pelican-pg-backup-cronjob.yaml diff --git a/deployments/backups/pelican-pg-backup-cronjob.yaml b/deployments/backups/pelican-pg-backup-cronjob.yaml new file mode 100644 index 0000000..6f110ae --- /dev/null +++ b/deployments/backups/pelican-pg-backup-cronjob.yaml @@ -0,0 +1,62 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + name: pelican-pg-backup + namespace: backups +spec: + schedule: "0 2 * * *" + concurrencyPolicy: Forbid + successfulJobsHistoryLimit: 3 + failedJobsHistoryLimit: 3 + jobTemplate: + spec: + template: + spec: + restartPolicy: OnFailure + containers: + - name: pg-dump + image: postgres:16-alpine + env: + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: pelican-pg-backup-credentials + key: password + - name: PGHOST + value: postgres.pelican.svc.cluster.local + - name: PGUSER + valueFrom: + secretKeyRef: + name: pelican-pg-backup-credentials + key: username + - name: PGDATABASE + valueFrom: + secretKeyRef: + name: pelican-pg-backup-credentials + key: database + command: + - /bin/sh + - -c + - | + set -e + BACKUP_DIR=/backups/pelican + mkdir -p "$BACKUP_DIR" + FILENAME="$BACKUP_DIR/pelican-$(date +%Y%m%d-%H%M%S).sql.gz" + pg_dump -h "$PGHOST" -U "$PGUSER" -d "$PGDATABASE" | gzip > "$FILENAME" + echo "Backup written: $FILENAME" + find "$BACKUP_DIR" -name '*.sql.gz' -mtime +7 -delete + echo "Retention cleanup done (keeping 7 days)" + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + volumeMounts: + - name: backup-storage + mountPath: /backups + volumes: + - name: backup-storage + persistentVolumeClaim: + claimName: backup-storage -- 2.52.0