Files
crank/docs/production-checklist.md
bsodfather 0e8f1ca03a
CI / Rust Checks (push) Failing after 4m28s
CI / UI Checks (push) Has been skipped
CI / Frontend E2E (push) Has been skipped
CI / Community Image Smoke (push) Has been skipped
CI / Deploy (push) Has been skipped
наблюдаемость: завершить базовый контур Community
Добавить структурированные журналы, метрики, трассировку и безопасный канал критических ошибок. Усилить границы рантайма, тесты, проверку зависимостей и сценарии развёртывания.
2026-07-31 01:01:14 +03:00

3.4 KiB

Production checklist

Этот список помогает подготовить Crank к постоянной работе на сервере.

Перед запуском

  • Сгенерирован сильный CRANK_MASTER_KEY.
  • Сгенерирован сильный CRANK_SESSION_SECRET.
  • Сгенерирован сильный CRANK_PASSWORD_PEPPER.
  • Задан надежный CRANK_BOOTSTRAP_ADMIN_PASSWORD.
  • CRANK_BASE_URL указывает на публичный HTTPS URL.
  • CRANK_ENVIRONMENT=production.
  • Если используется внешний приёмник критических ошибок, задан корректный CRANK_SENTRY_DSN; иначе значение оставлено пустым.
  • PostgreSQL доступен с host, где запускаются контейнеры.
  • Для PostgreSQL настроены бэкапы.
  • Reverse proxy проксирует /, /api/admin/ и /mcp/.
  • Для /mcp/ отключено proxy buffering.
  • Порты опубликованы только там, где нужно: 127.0.0.1 или 0.0.0.0.

После запуска

  • curl /health для admin-api возвращает ok.
  • curl /health для mcp-server возвращает ok.
  • curl /ready для admin-api и mcp-server возвращает ready.
  • UI открывается по публичному домену.
  • Вход под bootstrap admin работает.
  • Demo seed создал Frankfurter-пример, если CRANK_DEMO_SEED=true.
  • Тест операции frankfurter_latest_rate проходит.
  • MCP-клиент видит инструмент через агента currency-rates.
  • Каждая непустая строка stdout admin-api и mcp-server является корректным JSON и содержит service, environment и event.
  • При включённом канале контрольная критическая ошибка появляется у приёмника без исходного текста ошибки, request, user, payload и секретов.

Безопасность

  • Не храните .env в Git.
  • Не передавайте API-ключи агентов в чатах и тикетах.
  • Выдавайте отдельный ключ на каждого MCP-клиента.
  • Удаляйте или отзывайте ключи, которые больше не используются.
  • Используйте secrets/auth profiles для токенов внешних API.
  • Не вставляйте реальные токены в статические заголовки операции.

Эксплуатация

  • Включите мониторинг контейнеров.
  • Следите за свободным местом на диске.
  • Проверяйте размер PostgreSQL и директории artifact storage.
  • Храните полные комплекты PostgreSQL + artifact storage отдельно от application host.
  • Регулярно выполняйте контрольное восстановление через scripts/restore-community.sh на чистом стенде.
  • Перед обновлением фиксируйте текущие image tags.
  • После обновления проверяйте UI, Admin API и MCP endpoint.