4.1 KiB
4.1 KiB
Demo Runbook
1. Цель документа
Этот документ фиксирует минимальный воспроизводимый сценарий запуска и демонстрации Crank без знания внутренней структуры кода.
2. Предусловия
- доступен
PostgreSQL; - заданы
POSTGRES_HOST,POSTGRES_PORT,POSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORD; - задан
CRANK_STORAGE_ROOT; - доступны
CRANK_ADMIN_BINDиCRANK_MCP_BIND; - если нужен заполненный demo state без ручного онбординга, задан
CRANK_DEMO_SEED=true; - для UI установлен
Node.js; - для Rust-части установлен toolchain из
rust-toolchain.toml.
3. Быстрый локальный запуск
Backend
cargo run -p admin-api
Для предзаполненного demo state:
CRANK_DEMO_SEED=true cargo run -p admin-api
Во втором терминале:
cargo run -p mcp-server
UI
cd apps/ui
npm install
npm run dev
4. Контрольные health endpoints
curl http://127.0.0.1:3001/health
curl http://127.0.0.1:3002/health
Ожидаемо:
admin-apiвозвращает{"service":"admin-api","status":"ok"}mcp-serverвозвращает{"service":"mcp-server","status":"ok"}
5. Demo flow
REST
- Создать REST operation через UI или
admin-api. - Выполнить
test-run. - Опубликовать operation.
- Проверить появление tool в MCP через
tools/list. - Выполнить
tools/call.
GraphQL
- Создать GraphQL operation с фиксированным
queryилиmutation. - Выполнить
test-run. - Экспортировать YAML.
- Импортировать YAML в режиме
upsert. - Опубликовать operation и вызвать ее через MCP.
gRPC
- Создать gRPC operation.
- Загрузить
descriptor set. - Проверить
grpc/servicesdiscovery summary. - Выполнить
test-run. - Экспортировать YAML.
- Импортировать YAML в режиме
upsert. - Опубликовать operation и вызвать ее через MCP.
6. Проверка publish/reload flow
После публикации новой операции mcp-server не требует restart.
Проверка:
- Открыть MCP session.
- Вызвать
tools/list. - Опубликовать новую operation через
admin-api. - Повторно вызвать
tools/list. - Убедиться, что новый tool появился после refresh interval.
7. Проверка YAML roundtrip
YAML roundtrip считается успешным, если:
- operation экспортируется через
/api/admin/operations/{operation_id}/export; - экспортированный YAML импортируется через
/api/admin/operations/import?mode=upsert; - создается новая версия operation;
test-runновой версии проходит успешно.
8. Что считать готовым demo state
- все три протокола проходят сценарий
create -> test-run -> publish -> MCP call; - YAML export/import проходит хотя бы для
REST,GraphQLиgRPC; mcp-serverподхватывает published changes без restart;- ошибки
admin-apiи runtime возвращаются в читаемом виде; - логи позволяют понять, какая операция создавалась, тестировалась, публиковалась или импортировалась.
9. Post-deploy smoke
Если demo запускается не локально, а на staging/production-like стенде, после deploy нужно пройти отдельный checklist: