30 lines
1020 B
YAML
30 lines
1020 B
YAML
# Backup quotidien du schéma ordinarthur_os.
|
|
# `PGURL` et `RCLONE_REMOTE` à fournir via secret séparé `ordinarthur-os-backup-secrets`
|
|
# (voir secrets.template.yaml — à splitter quand le bucket S3 est choisi avec Arthur).
|
|
apiVersion: batch/v1
|
|
kind: CronJob
|
|
metadata:
|
|
name: ordinarthur-os-backup
|
|
namespace: ordinarthur-os
|
|
spec:
|
|
schedule: "0 3 * * *"
|
|
successfulJobsHistoryLimit: 3
|
|
failedJobsHistoryLimit: 3
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
restartPolicy: OnFailure
|
|
containers:
|
|
- name: pgdump
|
|
image: postgres:16-alpine
|
|
envFrom:
|
|
- secretRef: { name: ordinarthur-os-backup-secrets }
|
|
command: ["/bin/sh", "-c"]
|
|
args:
|
|
- |
|
|
set -euo pipefail
|
|
apk add --no-cache rclone
|
|
pg_dump "$PGURL" --schema=ordinarthur_os --format=c | gzip > /tmp/dump.gz
|
|
rclone copy /tmp/dump.gz "$RCLONE_REMOTE/$(date +%F).gz"
|