Короткий runbook для владельца инстанса (админ Cloudflare Pages + Supabase).
Важно: приложение само по себе не собирает телеметрию и не делает «автоматическое восстановление». Поэтому лучше иметь этот чеклист под рукой.
- Supabase: делайте миграции через
npm run db:pushи сверяйте миграции сsupabase/MIGRATIONS.md. - Cloudflare Pages: обновления деплойте только когда CI зелёный.
- Ввести ключи в GitHub Secrets (см.
docs/cloudflare-pages-setup.md). - Убедиться, что PR в
mainпроходит CI. - После merge на
mainдождаться workflowdeploy-cloudflare-pages.yml.
- Откройте
https://kar-tochki.pages.dev/(или ваш домен). - Убедитесь, что в
dist/_headersприменяется CSP (ошибки CSP обычно видны сразу). - Проверьте, что
sw.jsсодержит текущую версию: вsw.jsесть строкаkar-v*.
Если после деплоя что-то сломалось:
- Найдите предыдущий рабочий тег релиза в GitHub.
- Сделайте новый commit на
main, который возвращает состояние к этому тэгу. - Дождитесь очередного deploy.
В Cloudflare Pages нативный rollback по коммиту обычно проще сделать «перезаливом» предыдущего коммита.
Ключи в settings клиента BYOK (Supadata/Gemini/Groq/stock). Серверные секреты — только для Functions.
GEMINI_API_KEYGROQ_API_KEYSUPADATA_API_KEY(если используется серверный режим)CLOUDFLARE_*токены и account id — для деплоя
Ротация:
- Отзовите ключ у провайдера.
- Обновите Secret/настройку в инстансе.
- Пользователям: либо сменить ключ в Настройках → интеграции.
Jobs пишутся в KV на время выполнения генерации и транскрипта.
- Если стали чаще появляться ошибки
pending/timeout:- проверьте общий rate-limit
- убедитесь, что KV биндинг существует в Pages Functions
- смотрите логи Functions (Logpush/другие инструменты)
При несоответствии схемы приложение показывает banner.
- Механика:
REQUIRED_SCHEMA_VERSIONвjs/data/schema-version.tsдолжен совпасть с применёнными миграциями. - Решение: выполнить миграции (Supabase) и деплой фронта.
- Если вы видите CSP ошибки: проверьте
public/_headersи что они реально попали вdist/_headers. - Если видите 429: это сработали лимиты Worker’а → попробуйте позже или снизьте активность.
- Cloudflare Pages Functions: используйте встроенные логи/Logpush.
- Supabase: таблицы ошибок и
RLSpolicies.