# 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.