chore(backup): disable scheduled backups

This commit is contained in:
Christian Vidal Wolf
2026-05-29 11:02:52 +02:00
parent 97130003d8
commit 9e19a8cace
2 changed files with 10 additions and 30 deletions
-29
View File
@@ -1,29 +0,0 @@
name: Supabase Backup to Dropbox
on:
schedule:
- cron: '0 0,6,12,18 * * *' # every 6h at 00:00, 06:00, 12:00, 18:00 UTC
workflow_dispatch: # allow manual trigger from GitHub UI
jobs:
backup:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Trigger backup endpoint
run: |
RESPONSE=$(curl -s -w "\n%{http_code}" \
-X GET \
-H "Authorization: Bearer ${{ secrets.BACKUP_SECRET }}" \
https://craze-data-check.vercel.app/api/backup)
HTTP_STATUS=$(echo "$RESPONSE" | tail -n1)
BODY=$(echo "$RESPONSE" | head -n-1)
echo "Status: $HTTP_STATUS"
echo "Response: $BODY"
if [ "$HTTP_STATUS" != "200" ]; then
echo "Backup failed with status $HTTP_STATUS"
exit 1
fi
+10 -1
View File
@@ -5,6 +5,7 @@ const DROPBOX_APP_KEY = process.env.DROPBOX_APP_KEY;
const DROPBOX_APP_SECRET = process.env.DROPBOX_APP_SECRET; const DROPBOX_APP_SECRET = process.env.DROPBOX_APP_SECRET;
const DROPBOX_REFRESH_TOKEN = process.env.DROPBOX_REFRESH_TOKEN; const DROPBOX_REFRESH_TOKEN = process.env.DROPBOX_REFRESH_TOKEN;
const BACKUP_SECRET = process.env.BACKUP_SECRET; const BACKUP_SECRET = process.env.BACKUP_SECRET;
const BACKUP_CRON_ENABLED = process.env.BACKUP_CRON_ENABLED === 'true';
const DROPBOX_BACKUP_FOLDER = '/CrazeBackups'; const DROPBOX_BACKUP_FOLDER = '/CrazeBackups';
const MAX_BACKUP_AGE_DAYS = 7; const MAX_BACKUP_AGE_DAYS = 7;
@@ -87,7 +88,15 @@ async function deleteOldBackups(token) {
} }
export default async function handler(req, res) { export default async function handler(req, res) {
// Allow cron (no origin) or requests with valid secret // Backup cron disabled by default to prevent noisy scheduled failures.
if (!BACKUP_CRON_ENABLED) {
return res.status(200).json({
success: true,
skipped: true,
reason: 'backup cron disabled',
});
}
const authHeader = req.headers['authorization']; const authHeader = req.headers['authorization'];
const isCron = !req.headers.origin; const isCron = !req.headers.origin;
const hasSecret = BACKUP_SECRET && authHeader === `Bearer ${BACKUP_SECRET}`; const hasSecret = BACKUP_SECRET && authHeader === `Bearer ${BACKUP_SECRET}`;