Table of Contents

Открытые риски

Реестр незакрытых проблем.

Приоритет: A — требует действий, B — учитывать при развитии, C — наблюдать.

A. Требует действий

A1. Бэкапов нет

Резервное копирование не настроено.

Что нужно: локальные архивы /opt/ve-playground/ и /etc/nginx/, плюс внешнее копирование (локальные архивы на том же диске не спасают от потери диска).

A2. Мониторинга нет

Доступность держится только на restart: unless-stopped. О падении сервиса узнаём вручную. Внешнего healthcheck и алертов нет.

Что нужно): проверка с хоста по cron/systemd-таймеру, не изнутри контейнеров — упавший сервис не может сообщить о своём падении. Алерт напрямую через Bot API Telegram, минуя приложение бота.

A3. Памяти в обрез, swap отсутствует

1.9 ГБ RAM без swap.

Контейнер mem_limit
ToolMesh 1 ГБ
Telegram-бот 512 МБ
ops-sidecar 256 МБ
DokuWiki не ограничен
KeyDB не ограничен

Сейчас занято ~530 МБ, свободно ~1.4 ГБ — работает. После разворачивания бота запас станет тонким, и при пике (крупная страница + агентная цепочка вызовов) OOM killer убьёт процесс без предупреждения, так как деградировать в swap некуда.

Варианты: добавить swap-файл, выставить лимиты DokuWiki и KeyDB, снизить лимит ToolMesh, либо расширить RAM.

A4. Порт webhook не ограничен по CIDR Telegram

Порт 8443 (webhook бота) не ограничен на уровне iptables. Планировалось ограничение диапазонами Telegram (91.108.4.0/22, 149.154.160.0/20) в цепочке DOCKER-USER.

Актуально к моменту разворачивания бота.

B. Учитывать при развитии

B1. OAuth в ToolMesh не работает со стандартными клиентами

На неавторизованный запрос ToolMesh отвечает HTTP 200 с JSON-RPC-ошибкой вместо HTTP 401 с WWW-Authenticate. MCP-клиенты не распознают это как «нужна авторизация» и не запускают браузерный вход.

Обход применён: подключение по Bearer-токену. Подробности — auth.

Дефект стоит сообщить апстриму (https://github.com/DunkelCloud/ToolMesh). Пока не исправлен — OAuth-путь считать нерабочим и не выносить в инструкции.

B2. Нет ограничения расходов на Anthropic API

Лимитов на количество запросов и токенов не предусмотрено. Агентные вызовы с цепочкой инструментов на модели Opus обходятся заметно дороже обычного диалога.

Актуально к моменту разворачивания бота: нужен лимит на пользователя и на сутки.

C. Наблюдать

C1. Однократный сброс ACL вики

Наблюдался сброс acl.auth.php к состоянию после установки при сохранившихся пользователях, неймспейсах и настройках remote. Причина не установлена. Что проверять при повторении.


← Техническая документация