Модуль VII — развёртывание и интеграция
Модуль VII — единственный модуль, который мутирует инфраструктуру клиента: любая другая часть продукта работает в режиме read-first. Он провизионирует, обновляет и выводит из эксплуатации агентов и MCP-серверы как декларативные, версионированные, обратимые операции и декларирует подключения и используемую идентичность (referenced identity), через которые агент обращается к корпоративному ресурсу. Поскольку он воздействует, его планка безопасности — самая высокая в продукте, а живое исполнение (live actuation) удерживается за seam-ом deny-closed, пока оператор явно его не предоставит.
Планировать и управлять, затем (возможно) применять
Заголовок раздела «Планировать и управлять, затем (возможно) применять»Жизненный цикл — это plan → apply → verify → retire, согласующий желаемое
состояние с реальным. Принципиальное разделение — declare ≠ mutate:
- Декларирование желаемого состояния — создание, обновление, откат определения
(в том числе через ресурс manage-as-code
olivares_deployment) — относится только к control plane и никогда не касается инфраструктуры. plan— это чистый dry-run diff;verifyпроверяет дрейф и обновляет снимок (snapshot). Ни то, ни другое не мутирует.applyиretire— единственные мутирующие операции. Они двухфазные и deny-by-default: первая фаза вычисляет diff и запрашивает человеческое одобрение, привязанное к хешу плана, ничего не меняя; вторая фаза выполняется только если одобрение имеет статусapprovedи хеш плана по-прежнему совпадает — любое другое состояние (pending, expired, rejected, отсутствие шлюза, устаревший план) отклоняется и фиксируется. Повторное указание изменений меняет хеш и аннулирует одобрение (anti-TOCTOU).
Мутирующие apply/retire не работают вживую по умолчанию. Seam исполнения
(Executor) — deny-closed: без предоставленного
executor-а apply/retire/plan/verify отказывают по принципу fail closed с кодом
503 — control plane может декларировать желаемое состояние, но не может согласовать
его с реальной инфраструктурой. Реальный движок (Tofu/Terraform, GitOps, Kubernetes,
Docker, Nomad, Crossplane) плюс источник короткоживущих, аттестованных учётных данных
на каждую операцию подключаются только при конфигурации оператором; без этого
модуль никогда не действует молча.
Сущности и декларируемый контракт
Заголовок раздела «Сущности и декларируемый контракт»Модуль декларирует четыре сущности в собственном пространстве имён плюс ядровую
Deployment как применённый снимок:
| Сущность | Роль |
|---|---|
| definition | желаемое состояние — желаемая и применённая версия, хеш спецификации, ссылка на ядровую Deployment |
| revision | неизменяемая история спецификаций, доступная только для добавления — обратимый источник для отката |
| wiring | разрешённое (permitted) подключение agent → resource, которое оно декларирует (контракт, с которым сопоставляет модуль III) |
| operation | журнал управления изменениями, доступный только для добавления — версия, хеш плана, кто одобрил, результат |
Желаемая спецификация типизирована и пересериализуется из структуры (никогда через
round-trip операторского JSON): неизвестные поля отклоняются, выполняется проверка на
inline-учётные данные, а спецификация, несущая материал учётных данных в открытом виде,
отклоняется на этапе декларации. Учётные данные передаются только по ссылке
(<scheme>:<locator>, схема из allow-list) — это свойство канала, а не хранимый секрет.
Что он публикует в шине (сторона PERMITTED модуля III)
Заголовок раздела «Что он публикует в шине (сторона PERMITTED модуля III)»Модуль VII никогда не пишет access map; модуль III — единственный, кто пишет её рёбра.
При зафиксированном apply для каждого wiring модуль публикует событие
policy-grant edge.observed (Source = policy), несущее только
ссылки и режим. Модуль III согласует его в сторону PERMITTED своего diff-а
permitted-vs-observed — так что то, что декларирует этот модуль, и есть ровно то, с чем
модуль III сопоставляет наблюдаемое. Идентичность привязывается к каждому агенту через
governance: твёрдая, уникальная нечеловеческая идентичность даёт ребро attributed;
общая или отсутствующая идентичность отмечается как approximate — помечается,
никогда не подделывается.
Связанное
Заголовок раздела «Связанное»- Каталог модулей — разделение Govern/Observe vs Actuate и seam
503. - Модуль III — access map — потребляет wiring PERMITTED, который декларирует этот модуль.
- Справочник по шине событий — событие
edge.observedи его payload с минимальными данными. - Управление и одобрение — поток HITL-одобрения за каждой мутацией.
- Честность и ограничения — что исполняется сегодня, а что нет.
- Обзор архитектуры — где модуль VII находится в слое Management.