1.5 KiB
1.5 KiB
Manuals Tenant Recovery Runbook
1) Verify runtime env on active app
Confirm these variables on the live Coolify app/container:
NEXT_PUBLIC_CONVEX_URL(fullhttps://...URL)NEXT_PUBLIC_SITE_DOMAIN=rmv.abundancepartners.app- Optional override:
MANUALS_TENANT_DOMAIN=rmv.abundancepartners.app
2) Verify Convex tenant data gate
Run:
pnpm deploy:staging:convex-gate
This fails if Convex returns fewer than one manual for the active domain.
3) Backfill existing manuals rows for tenant visibility
Dry run first:
pnpm manuals:backfill:tenant -- --domain rmv.abundancepartners.app --dry-run
Apply:
pnpm manuals:backfill:tenant -- --domain rmv.abundancepartners.app
4) Re-run smoke checks
pnpm deploy:staging:smoke -- --base-url https://rmv.abundancepartners.app --skip-browser
Manuals checks will fail if:
/manualsrenders withinitialManuals: []- tenant domain marker mismatches the host
- degraded manuals state is shown
5) Recover eBay parts cache (when status is rate_limited/empty)
Force a cache refresh from the live app (requires ADMIN_API_TOKEN):
curl -sS -X POST \
-H "x-admin-token: $ADMIN_API_TOKEN" \
https://rmv.abundancepartners.app/api/admin/ebay/refresh
Then verify:
GET /api/ebay/search?...reports cachestatus=successwith non-zerolistingCount.POST /api/ebay/manual-partsfor a known parts manual returns at least one listing.- Manual viewer shows no stale/error eBay panel when matches are unavailable.