From 3f3b41040e40d33e6bc7ff2a025d751e59dd4e23 Mon Sep 17 00:00:00 2001 From: Baptiste Guillin Date: Sat, 8 Aug 2026 20:53:45 +0200 Subject: [PATCH] Make Naviya PostgreSQL backups atomic --- apps/naviya/30-backup.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/naviya/30-backup.yaml b/apps/naviya/30-backup.yaml index 30247dc..683fc92 100644 --- a/apps/naviya/30-backup.yaml +++ b/apps/naviya/30-backup.yaml @@ -46,7 +46,19 @@ spec: - | umask 077 stamp="$(date -u +%Y%m%dT%H%M%SZ)" - pg_dump --format=custom --no-owner --no-acl "$DATABASE_URL" > "/backups/application-metier-${stamp}.dump" + target="/backups/application-metier-${stamp}.dump" + tmp="${target}.tmp.$$" + + cleanup() { + rm -f "$tmp" + } + trap cleanup EXIT + + pg_dump --format=custom --no-owner --no-acl --file="$tmp" "$DATABASE_URL" + test -s "$tmp" + mv "$tmp" "$target" + trap - EXIT + ls -lh "$target" find /backups -type f -name 'application-metier-*.dump' -mtime +14 -delete env: - name: DATABASE_URL