4.5 KiB
4.5 KiB
Production checklist
Этот список помогает подготовить Crank к постоянной работе на сервере.
Перед запуском
- Сгенерирован сильный
CRANK_MASTER_KEYдлиной не менее 32 bytes. - Зафиксирована процедура хранения и восстановления
CRANK_MASTER_KEYвне product backup set; есть защищённый opaquebackup_refдля rotation. - Сгенерирован сильный
CRANK_SESSION_SECRET. - Сгенерирован сильный
CRANK_PASSWORD_PEPPER. - Подготовлена локальная процедура
crank-migrate admin-auth bootstrap-create; static startup-пароль администратора не используется в production. - Подготовлены защищённые local files для
crank-migrate admin-auth recover: новый Admin password, текущийCRANK_PASSWORD_PEPPERи current master key. 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 открывается по публичному домену.
- Создан первый admin через одноразовый bootstrap token, повтор token отклоняется, обычный login работает.
- Demo seed создал Frankfurter-пример, если
CRANK_DEMO_SEED=true. - Тест операции
frankfurter_latest_rateпроходит. - MCP-клиент видит инструмент через агента
currency-rates. admin-apiиmcp-serverиспользуют один active master-key identity; запуск с невернымCRANK_MASTER_KEYпроверен как fail-closed на staging.- Каждая непустая строка stdout
admin-apiиmcp-serverявляется корректным JSON и содержитservice,environmentиevent. - При включённом канале контрольная критическая ошибка появляется у приёмника без исходного текста ошибки, request, user, payload и секретов.
Безопасность
- Не храните
.envв Git. - Не передавайте API-ключи агентов в чатах и тикетах.
- Выдавайте отдельный ключ на каждого MCP-клиента.
- Удаляйте или отзывайте ключи, которые больше не используются.
- Используйте secrets/auth profiles для токенов внешних API.
- Не вставляйте реальные токены в статические заголовки операции.
- Не меняйте
CRANK_MASTER_KEYнапрямую. Для смены ключа выполняйтеcrank-migrate master-key preflight → rotate → verify → promote, затем перезапускайте secret-using процессы с target key.
Эксплуатация
- Включите мониторинг контейнеров.
- Следите за свободным местом на диске.
- Проверяйте размер PostgreSQL и директории artifact storage.
- Храните полные комплекты PostgreSQL + artifact storage отдельно от application host.
- Регулярно выполняйте контрольное восстановление через
scripts/restore-community.shна чистом стенде. - Перед обновлением фиксируйте текущие image tags.
- После обновления проверяйте UI, Admin API и MCP endpoint.