MindRoot.ru
Данные в РФ К документации

Развёртывание и контуры

Агент, собранный в конструкторе, разворачивается в изолированный контур: сеть, кластер, база данных, секреты, политики безопасности и аудит. Этот раздел описывает, что именно получает клиент, какие контуры бывают и где заканчивается автоматизация.

1. Три типа контуров

КонтурИзоляцияКому подходитСрок
Общий контур MindRoot.ru Namespace в общем кластере, свои ключи шифрования, NetworkPolicy на клиента Пилоты, средний бизнес без требований к выделенному железу1 день
Выделенный контур (VPC на клиента) Отдельные VPC, кластер Kubernetes, managed PostgreSQL и бакет Компании с ПДн клиентов, требованиями ИБ и аудита3 дня
Контур заказчика (on-premise) Полная изоляция сети, локальный инференс, данные не покидают периметр Банки, медицина, госсектор, промышленность10 дней

Облако выбирается из Yandex Cloud, VK Cloud и Selectel — все с размещением данных в РФ. Для on-premise генерируется пакет без Kubernetes: docker-compose, runbook монтажа и чеклист согласований с ИБ заказчика.

2. Как считаются ресурсы

Расчёт идёт от нагрузки: количества задач агента в месяц. Система берёт средний RPS, добавляет шестикратный запас на пики и определяет:

Смета раскладывается по статьям, отдельно показываются разовые затраты (для on-premise — серверы, СХД, работы по внедрению).

3. Состав пакета развёртывания

ГруппаФайлыНазначение
ПланREADME.md, deploy-plan.json Ресурсы, смета, порядок работ, предупреждения плана
Kubernetesk8s/00…90 Namespace с метками соответствия, шаблон секретов, configmap с политиками (маскирование ПДн, аудит, лимиты, срок хранения), deployment с runAsNonRoot и readOnlyRootFilesystem, ingress, HPA, NetworkPolicy с запретом по умолчанию, PVC, CronJob бэкапа
Terraformterraform/<провайдер>/ Сеть, кластер, группа узлов, managed PostgreSQL, бакет; пример terraform.tfvars
On-premisecompose/, runbooks/ Запуск без кластера, пошаговая инструкция монтажа, требования к площадке
Соответствие152fz-checklist.md, checks/verify-contour.sh Чеклист для приёмки и скрипт проверки контура после развёртывания
Агентagent.json, .env.example Собранный агент и переменные окружения с подсказками по каждому плагину

4. Шаги развёртывания

Облачный прогон состоит из 13 шагов, локальный — из 7 (проверка конфигурации, плагины, секреты, агент, ядро, дымовой тест, ручные действия), у каждого шага есть журнал и время выполнения: проверка конфигурации → проект, сервисный аккаунт и квоты → сеть (VPC, подсети, группы безопасности, NAT) → хранилище секретов и ключи шифрования → кластер → узлы → PostgreSQL и S3 → ядро MindRoot (Helm) → установка плагинов агента → импорт агента и включение команд → политики безопасности и аудит → дымовой тест → домен, сертификат и передача доступов.

Шаги, которые невозможно выполнить без человека, помечаются явно: заполнение токенов интеграций, выдача минимальных прав сервисным пользователям в 1С/CRM, настройка выгрузки журнала аудита в SIEM, DNS-запись, сертификат, передача доступов ответственным сотрудникам заказчика.

5. Контур в действии

Кнопка «Запустить контур» не просто собирает файлы: контур поднимается на этом же хосте, и его панель доступна по адресу /c/<id>/. Внутри панели — чат с агентом, очередь подтверждений, политики, показатели и журнал аудита.

Что происходитКак это выглядит
Плагины исполняются Вызывается настоящий код команд: тот же mod.py, что установлен из маркетплейса. Задача «покажи сделки за неделю» идёт в коннектор Битрикс24.
Внешние API — демонстрационные Ответы 10 вендоров детерминированы, в ответе команды стоит источник demo. Боевой вызов включается сам, когда в настройках появляется реальный токен: хост уходит в сеть, код не меняется.
Политики работают Изменяющая команда ставится в очередь подтверждений; работа вне разрешённых часов, превышение лимита записей и внешние вызовы при on-premise отклоняются с записью в аудит.
Аудит и отчёт state/audit.jsonl: задачи, команды, аргументы, подтверждения, отказы, обновление секретов. Отчёт — счётчики, ошибки, разбивка по плагинам.
Живучесть После перезапуска сервера контур восстанавливается из deployments/<id>/; удаление контура снимает рантайм и состояние.

API контура: POST /c/{id}/api/task — задача, POST /c/{id}/api/command — прямой вызов команды, POST /c/{id}/api/approve|reject — решение человека, GET /c/{id}/api/report|audit|commands|secrets — показатели, журнал, команды и состав настроек, POST /c/{id}/api/smoke|stop — дымовой тест и остановка. Список работающих контуров — GET /api/contours.

6. Что важно знать про режимы работы

Облачный прогон — dry-run. Пакет для облака создаётся полностью и показывает план применения, но не вызывает API облачного провайдера: для этого нужны доступы заказчика. Боевое развёртывание — это terraform init && terraform apply и kubectl apply -f k8s/ в аккаунте клиента, либо работы нашей команды внедрения. Смета — оценка по тарифам: перед договором цены подтверждаются у провайдера.
Локальный прогон — рабочий контур. Плагины исполняются, политики и аудит действуют, панель доступна сразу. Внешние API отвечает демонстрационный транспорт: боевые данные подключит заказчик своими токенами (вкладка «Секреты» в панели контура).