mirror of
https://github.com/christianvidalwolf-prog/Craze-Data-check.git
synced 2026-08-03 12:45:24 +02:00
chore(backup): disable scheduled backups
This commit is contained in:
@@ -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
@@ -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}`;
|
||||||
|
|||||||
Reference in New Issue
Block a user