47 lines
1.9 KiB
Markdown
47 lines
1.9 KiB
Markdown
# Демо и e2e
|
||
|
||
Два сценария для локальной проверки без прода.
|
||
|
||
## 1. Сквозной пример через MCP (`demo.py`)
|
||
|
||
Поднимает только `config_server`; задачи создаются, но их никто не исполняет —
|
||
показывает вызовы инструментов и ответы.
|
||
|
||
```bash
|
||
docker compose -f examples/demo/docker-compose.yml up -d
|
||
go build -o omnichannel-configserver-mcp .
|
||
python3 examples/demo/demo.py
|
||
```
|
||
|
||
## 2. Полный e2e деплоя с агентом (`e2e.py`)
|
||
|
||
Дополнительно запускает настоящий **config-agent**, который опрашивает
|
||
`config_server` и реально выполняет задачи через `docker-compose`. Проверяется
|
||
жизненный цикл: `set_env` → `set_compose` → `deploy` → `restart` → `down`, а
|
||
также защита (`down` без `confirm` отклоняется).
|
||
|
||
```bash
|
||
docker compose -f examples/demo/docker-compose.yml up -d
|
||
go build -o omnichannel-configserver-mcp .
|
||
python3 examples/demo/e2e.py
|
||
```
|
||
|
||
Что делает `e2e.py`:
|
||
|
||
1. создаёт каталог `/tmp/omni-e2e/opt/demo_e2e` с `docker-compose.yml`;
|
||
2. поднимает контейнер `omni-e2e-agent` (образ `config-agent:v1.1.0`) с
|
||
проброшенным `docker.sock` и `/opt`;
|
||
3. ждёт регистрации приложения агентом;
|
||
4. гоняет жизненный цикл через MCP и проверяет состояние контейнеров;
|
||
5. удаляет тестовый агент.
|
||
|
||
Требуется доступ к `registry.devlexicom.ru` (образ агента).
|
||
|
||
## Очистка
|
||
|
||
```bash
|
||
docker compose -f examples/demo/docker-compose.yml down -v
|
||
docker rm -f omni-e2e-agent 2>/dev/null; docker network rm demo_e2e_default 2>/dev/null
|
||
rm -rf /tmp/omni-e2e
|
||
```
|