0e8f1ca03a
Добавить структурированные журналы, метрики, трассировку и безопасный канал критических ошибок. Усилить границы рантайма, тесты, проверку зависимостей и сценарии развёртывания.
54 lines
3.4 KiB
Markdown
54 lines
3.4 KiB
Markdown
# 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.
|