V6 Phase 4 - Postgres backup to Synology
Quality Gate / gate (push) Failing after 49s

This commit is contained in:
Jim Lancaster
2026-08-25 13:09:14 -05:00
parent 234476ba6d
commit c85cc6be20
7 changed files with 133 additions and 2 deletions
+14 -2
View File
@@ -12,6 +12,7 @@ This runbook is the operational checklist for releasing and monitoring the trans
- `OPENROUTER_API_KEY`
- `DATABASE__*`
- filesystem paths for data/logs/backups.
- `CLOUDFLARE_TUNNEL_TOKEN`
5. Confirm schema contract alignment is current:
- `src/transcription/db/models.py`
- `docs/schema.md`
@@ -33,6 +34,8 @@ This runbook is the operational checklist for releasing and monitoring the trans
4. Verify log flow:
- stdout aggregation receives events
- file logs are written under `./data/logs`
5. Create a fresh PostgreSQL backup after successful deployment:
- `sh deploy/backup/create_postgres_backup.sh`
## 3. Rollback triggers and actions
@@ -50,6 +53,8 @@ This runbook is the operational checklist for releasing and monitoring the trans
4. Preserve incident evidence:
- `./data/logs`
- relevant DB rows (`job`, `job_source`, `execution_attempt`)
5. If persistence regression is confirmed, restore the latest valid DB dump:
- `sh deploy/backup/restore_postgres_backup.sh <dump-file>`
## 4. Post-release monitoring checklist
@@ -90,10 +95,17 @@ This runbook is the operational checklist for releasing and monitoring the trans
### Cloudflare ingress/access failure
1. Check `cloudflared` container logs for ingress parse, DNS, or auth failures.
2. Confirm `deploy/cloudflared/config.yml` tunnel UUID and hostname mappings are correct.
3. Confirm `deploy/cloudflared/credentials.json` matches the tunnel configured in Cloudflare.
2. Confirm `deploy/cloudflared/config.yml` hostname mappings are correct.
3. Confirm `CLOUDFLARE_TUNNEL_TOKEN` in `.env.production` matches the tunnel configured in Cloudflare.
4. Confirm Cloudflare Access app policy includes the intended identity/group for that hostname.
### Backup or restore failure
1. Verify `postgres` container is healthy and accepting connections.
2. Confirm dump file exists and is non-zero size.
3. Re-run backup/restore scripts with explicit `ENV_FILE` and `COMPOSE_FILE` if using non-default paths.
4. If Synology copy fails, keep local backup and resolve mount/network before next backup cycle.
## 6. Dependency upgrade policy
Dependencies are declared in `pyproject.toml` and resolved through the committed