[{"data":1,"prerenderedAt":657},["ShallowReactive",2],{"docs-navigation":3,"docs-page:\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-control-plane":293,"docs-surround:\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-control-plane":652},[4],{"title":5,"path":6,"stem":7,"children":8,"page":33},"Docs","\u002Fdocs","docs",[9,182,274],{"title":10,"icon":11,"path":12,"stem":13,"children":14},"Документация","i-lucide-book-open","\u002Fdocs\u002Fguide","docs\u002F1.guide\u002Findex",[15,17,34,65,121,131,152],{"title":16,"path":12,"stem":13},"Обзор",{"title":18,"icon":19,"path":20,"stem":21,"children":22,"page":33},"Основы","i-lucide-compass","\u002Fdocs\u002Fguide\u002Fbasics","docs\u002F1.guide\u002F1.basics",[23,28],{"title":24,"path":25,"stem":26,"order":27},"Основные понятия и модель","\u002Fdocs\u002Fguide\u002Fbasics\u002Fconcepts","docs\u002F1.guide\u002F1.basics\u002F1.concepts",2,{"title":29,"path":30,"stem":31,"order":32},"Быстрый старт","\u002Fdocs\u002Fguide\u002Fbasics\u002Fgetting-started","docs\u002F1.guide\u002F1.basics\u002F2.getting-started",3,false,{"title":35,"icon":36,"path":37,"stem":38,"children":39,"page":33},"Установка и обслуживание","i-lucide-server-cog","\u002Fdocs\u002Fguide\u002Foperations","docs\u002F1.guide\u002F2.operations",[40,45,50,55,60],{"title":41,"path":42,"stem":43,"order":44},"Архитектура","\u002Fdocs\u002Fguide\u002Foperations\u002Farchitecture","docs\u002F1.guide\u002F2.operations\u002F1.architecture",6,{"title":46,"path":47,"stem":48,"order":49},"Развёртывание и эксплуатация","\u002Fdocs\u002Fguide\u002Foperations\u002Fdeployment","docs\u002F1.guide\u002F2.operations\u002F2.deployment",7,{"title":51,"path":52,"stem":53,"order":54},"Безопасность и контроль данных","\u002Fdocs\u002Fguide\u002Foperations\u002Fsecurity","docs\u002F1.guide\u002F2.operations\u002F3.security",8,{"title":56,"path":57,"stem":58,"order":59},"Наблюдаемость и разбор инцидентов","\u002Fdocs\u002Fguide\u002Foperations\u002Fobservability","docs\u002F1.guide\u002F2.operations\u002F4.observability",9,{"title":61,"path":62,"stem":63,"order":64},"Администрирование","\u002Fdocs\u002Fguide\u002Foperations\u002Fadministration","docs\u002F1.guide\u002F2.operations\u002F5.administration",10,{"title":66,"icon":67,"path":68,"stem":69,"children":70},"Сервисы","i-lucide-boxes","\u002Fdocs\u002Fguide\u002Fservices","docs\u002F1.guide\u002F3.services\u002Findex",[71,73,77,81,85,89,93,97,101,105,109,113,117],{"title":72,"path":68,"stem":69},"Каталог сервисов",{"title":74,"path":75,"stem":76},"api","\u002Fdocs\u002Fguide\u002Fservices\u002Fapi","docs\u002F1.guide\u002F3.services\u002F01.api",{"title":78,"path":79,"stem":80},"auth-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fauth-service","docs\u002F1.guide\u002F3.services\u002F02.auth-service",{"title":82,"path":83,"stem":84},"runtime-engine","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-engine","docs\u002F1.guide\u002F3.services\u002F03.runtime-engine",{"title":86,"path":87,"stem":88},"runtime-control-plane","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-control-plane","docs\u002F1.guide\u002F3.services\u002F04.runtime-control-plane",{"title":90,"path":91,"stem":92},"executor","\u002Fdocs\u002Fguide\u002Fservices\u002Fexecutor","docs\u002F1.guide\u002F3.services\u002F05.executor",{"title":94,"path":95,"stem":96},"secret-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fsecret-manager","docs\u002F1.guide\u002F3.services\u002F06.secret-manager",{"title":98,"path":99,"stem":100},"plugin-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fplugin-manager","docs\u002F1.guide\u002F3.services\u002F07.plugin-manager",{"title":102,"path":103,"stem":104},"scheduler","\u002Fdocs\u002Fguide\u002Fservices\u002Fscheduler","docs\u002F1.guide\u002F3.services\u002F08.scheduler",{"title":106,"path":107,"stem":108},"preset-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fpreset-service","docs\u002F1.guide\u002F3.services\u002F09.preset-service",{"title":110,"path":111,"stem":112},"file-service","\u002Fdocs\u002Fguide\u002Fservices\u002Ffile-service","docs\u002F1.guide\u002F3.services\u002F10.file-service",{"title":114,"path":115,"stem":116},"flow-agent","\u002Fdocs\u002Fguide\u002Fservices\u002Fflow-agent","docs\u002F1.guide\u002F3.services\u002F11.flow-agent",{"title":118,"path":119,"stem":120},"search-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fsearch-service","docs\u002F1.guide\u002F3.services\u002F12.search-service",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":33},"Справочник","i-lucide-list","\u002Fdocs\u002Fguide\u002Freference","docs\u002F1.guide\u002F4.reference",[127],{"title":128,"path":129,"stem":130},"Конфигурация, CLI и коды ошибок","\u002Fdocs\u002Fguide\u002Freference\u002Fconfig","docs\u002F1.guide\u002F4.reference\u002F1.config",{"title":132,"icon":133,"path":134,"stem":135,"children":136,"page":33},"О продукте","i-lucide-target","\u002Fdocs\u002Fguide\u002Fproduct","docs\u002F1.guide\u002F5.product",[137,142,147],{"title":138,"path":139,"stem":140,"order":141},"Оценка и выбор","\u002Fdocs\u002Fguide\u002Fproduct\u002Fevaluation","docs\u002F1.guide\u002F5.product\u002F1.evaluation",13,{"title":143,"path":144,"stem":145,"order":146},"О проекте и поддержка","\u002Fdocs\u002Fguide\u002Fproduct\u002Fabout","docs\u002F1.guide\u002F5.product\u002F2.about",14,{"title":148,"path":149,"stem":150,"order":151},"Roadmap","\u002Fdocs\u002Fguide\u002Fproduct\u002Froadmap","docs\u002F1.guide\u002F5.product\u002F3.roadmap",15,{"title":153,"icon":154,"path":155,"stem":156,"children":157,"page":33},"Cookbook","i-lucide-chef-hat","\u002Fdocs\u002Fguide\u002Fcookbook","docs\u002F1.guide\u002F6.cookbook",[158,162,166,170,174,178],{"title":159,"path":160,"stem":161},"Развернуть Conveyor","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fdeploy","docs\u002F1.guide\u002F6.cookbook\u002F1.deploy",{"title":163,"path":164,"stem":165},"Создать рабочее пространство","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-workspace","docs\u002F1.guide\u002F6.cookbook\u002F2.create-workspace",{"title":167,"path":168,"stem":169},"Создать процесс","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-process","docs\u002F1.guide\u002F6.cookbook\u002F3.create-process",{"title":171,"path":172,"stem":173},"Управление плагинами","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fmanage-plugins","docs\u002F1.guide\u002F6.cookbook\u002F4.manage-plugins",{"title":175,"path":176,"stem":177},"Процесс как MCP","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fpublish-process-mcp","docs\u002F1.guide\u002F6.cookbook\u002F5.publish-process-mcp",{"title":179,"path":180,"stem":181},"Сгенерировать процесс генераатором","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fflow-generator","docs\u002F1.guide\u002F6.cookbook\u002F6.flow-generator",{"title":183,"icon":184,"path":185,"stem":186,"children":187},"Работа с Conveyor","i-lucide-workflow","\u002Fdocs\u002Fusage","docs\u002F2.usage\u002Findex",[188,189,193,197,201,266,270],{"title":183,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"Регистрация и аутентификация","\u002Fdocs\u002Fusage\u002Fauth","docs\u002F2.usage\u002F1.auth",{"title":194,"path":195,"stem":196},"Возможности и ограничения","\u002Fdocs\u002Fusage\u002Fcapabilities","docs\u002F2.usage\u002F2.capabilities",{"title":198,"path":199,"stem":200},"Концепция распределённого исполнения","\u002Fdocs\u002Fusage\u002Fdistributed-execution","docs\u002F2.usage\u002F3.distributed-execution",{"title":202,"icon":203,"path":204,"stem":205,"children":206},"Интерфейс редактора","i-lucide-layout-dashboard","\u002Fdocs\u002Fusage\u002Feditor","docs\u002F2.usage\u002F4.editor\u002Findex",[207,208,212,230,234,238,242,246,250,254,258,262],{"title":202,"path":204,"stem":205},{"title":209,"path":210,"stem":211},"Настройки интерфейса","\u002Fdocs\u002Fusage\u002Feditor\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F01.settings",{"title":213,"icon":184,"path":214,"stem":215,"children":216},"Процессы","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002Findex",[217,218,222,226],{"title":213,"path":214,"stem":215},{"title":219,"path":220,"stem":221},"Настройки","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F1.settings",{"title":223,"path":224,"stem":225},"История Запусков и логи","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fhistory-logs","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F2.history-logs",{"title":227,"path":228,"stem":229},"Сохранение, запуск и отладка","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsave-run-debug","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F3.save-run-debug",{"title":231,"path":232,"stem":233},"Библиотека","\u002Fdocs\u002Fusage\u002Feditor\u002Flibrary","docs\u002F2.usage\u002F4.editor\u002F03.library",{"title":235,"path":236,"stem":237},"Воркспейсы","\u002Fdocs\u002Fusage\u002Feditor\u002Fworkspaces","docs\u002F2.usage\u002F4.editor\u002F04.workspaces",{"title":239,"path":240,"stem":241},"Секреты","\u002Fdocs\u002Fusage\u002Feditor\u002Fsecrets","docs\u002F2.usage\u002F4.editor\u002F05.secrets",{"title":243,"path":244,"stem":245},"Плагины","\u002Fdocs\u002Fusage\u002Feditor\u002Fplugins","docs\u002F2.usage\u002F4.editor\u002F06.plugins",{"title":247,"path":248,"stem":249},"Шаблоны","\u002Fdocs\u002Fusage\u002Feditor\u002Ftemplates","docs\u002F2.usage\u002F4.editor\u002F07.templates",{"title":251,"path":252,"stem":253},"Консоль логов","\u002Fdocs\u002Fusage\u002Feditor\u002Flog-console","docs\u002F2.usage\u002F4.editor\u002F08.log-console",{"title":255,"path":256,"stem":257},"Подтверждения шагов","\u002Fdocs\u002Fusage\u002Feditor\u002Fstep-confirmations","docs\u002F2.usage\u002F4.editor\u002F09.step-confirmations",{"title":259,"path":260,"stem":261},"Внешние инструменты","\u002Fdocs\u002Fusage\u002Feditor\u002Fexternal-tools","docs\u002F2.usage\u002F4.editor\u002F10.external-tools",{"title":263,"path":264,"stem":265},"Работа с аккаунтом","\u002Fdocs\u002Fusage\u002Feditor\u002Faccount","docs\u002F2.usage\u002F4.editor\u002F11.account",{"title":267,"path":268,"stem":269},"Работа с API","\u002Fdocs\u002Fusage\u002Fapi","docs\u002F2.usage\u002F5.api",{"title":271,"path":272,"stem":273},"MCP: платформа как сервер","\u002Fdocs\u002Fusage\u002Fmcp","docs\u002F2.usage\u002F6.mcp",{"title":243,"icon":275,"path":276,"stem":277,"children":278},"i-lucide-blocks","\u002Fdocs\u002Fplugins","docs\u002F3.plugins\u002Findex",[279,281,285,289],{"title":280,"path":276,"stem":277},"Плагины и интеграции",{"title":282,"path":283,"stem":284},"Разработка плагина (SDK)","\u002Fdocs\u002Fplugins\u002Fdevelop","docs\u002F3.plugins\u002F1.develop",{"title":286,"path":287,"stem":288},"Подключение и интеграции","\u002Fdocs\u002Fplugins\u002Fconnect","docs\u002F3.plugins\u002F2.connect",{"title":290,"path":291,"stem":292},"API и MCP","\u002Fdocs\u002Fplugins\u002Fapi","docs\u002F3.plugins\u002F3.api",{"id":294,"title":86,"body":295,"description":646,"extension":647,"meta":648,"navigation":649,"path":87,"seo":650,"stem":88,"__hash__":651},"docs\u002Fdocs\u002F1.guide\u002F3.services\u002F04.runtime-control-plane.md",{"type":296,"value":297,"toc":637},"minimark",[298,318,327,332,335,339,358,362,376,380,389,393,616,620],[299,300,301,304,305,309,310,313,314,317],"p",{},[302,303,86],"strong",{}," (CP) — внутренний ingress между исполнителями\u002Fплагинами и движком: принимает ack\u002Fresult шагов, проверяет политику диспетчеризации и проксирует ",[306,307,308],"code",{},"\u002Fmetrics"," движка. Слушает HTTP ",[306,311,312],{},":3000"," и отдельный TCP ",[306,315,316],{},":3001",".",[319,320,321],"blockquote",{},[299,322,323,326],{},[302,324,325],{},"На какие вопросы отвечает раздел:"," Куда исполнители шлют результаты? Что такое policy dispatch? Как ограничить доступ плагинов?",[328,329,331],"h2",{"id":330},"цель","Цель",[299,333,334],{},"Безопасный ingress для исполнителей: принимать результаты выполнения шагов, проверять policy dispatch и передавать данные в движок по TCP RPC.",[328,336,338],{"id":337},"задачи","Задачи",[340,341,342,346,349,352],"ul",{},[343,344,345],"li",{},"HTTP\u002FTCP ingress: ack\u002Fresult от исполнителей и step-ack\u002Fresult от плагинов;",[343,347,348],{},"policy dispatch (плагин включён у пользователя и т.п.) по уже известному каталогу;",[343,350,351],{},"TCP RPC к runtime-engine;",[343,353,354,355,357],{},"прокси ",[306,356,308],{}," движка.",[328,359,361],{"id":360},"требования","Требования",[340,363,364,367,370],{},[343,365,366],{},"runtime-engine (TCP RPC);",[343,368,369],{},"PostgreSQL и Redis;",[343,371,372,373,317],{},"secret-manager, file-service; общий ",[306,374,375],{},"PLUGIN_CONTROL_PLANE_KEY",[328,377,379],{"id":378},"ограничения","Ограничения",[340,381,382],{},[343,383,384,385,388],{},"зона CP: ingress ack\u002Fresult и policy dispatch по каталогу из Postgres. Публикация плагинов и ",[306,386,387],{},"manifest_request"," — у plugin-manager.",[328,390,392],{"id":391},"настройки-и-переменные-окружения","Настройки и переменные окружения",[394,395,396,415],"table",{},[397,398,399],"thead",{},[400,401,402,406,409,412],"tr",{},[403,404,405],"th",{},"Переменная",[403,407,408],{},"Зачем",[403,410,411],{},"На что влияет",[403,413,414],{},"По умолчанию",[416,417,418,437,455,472,489,504,522,543,561,579,597],"tbody",{},[400,419,420,426,429,432],{},[421,422,423],"td",{},[306,424,425],{},"RUNTIME_CONTROL_PLANE_HTTP_PORT",[421,427,428],{},"Порт HTTP API",[421,430,431],{},"Приём ack\u002Fresult по HTTP",[421,433,434],{},[306,435,436],{},"3000",[400,438,439,444,447,450],{},[421,440,441],{},[306,442,443],{},"RUNTIME_CONTROL_PLANE_TCP_PORT",[421,445,446],{},"Порт TCP",[421,448,449],{},"Приём результатов шагов (отдельный listener)",[421,451,452],{},[306,453,454],{},"3001",[400,456,457,462,465,468],{},[421,458,459],{},[306,460,461],{},"RUNTIME_ENGINE_TCP_HOST",[421,463,464],{},"Хост движка",[421,466,467],{},"Куда CP шлёт RPC",[421,469,470],{},[306,471,82],{},[400,473,474,479,482,485],{},[421,475,476],{},[306,477,478],{},"RUNTIME_ENGINE_RPC_TCP_PORT",[421,480,481],{},"Порт RPC движка",[421,483,484],{},"Связь CP → engine",[421,486,487],{},[306,488,436],{},[400,490,491,495,498,501],{},[421,492,493],{},[306,494,375],{},[421,496,497],{},"Ключ ingress",[421,499,500],{},"Авторизация внутренних маршрутов",[421,502,503],{},"—",[400,505,506,511,514,517],{},[421,507,508],{},[306,509,510],{},"PLUGIN_CONTROL_PLANE_ALLOW_CIDRS",[421,512,513],{},"Allowlist CIDR",[421,515,516],{},"Кто может подключаться к ingress",[421,518,519],{},[306,520,521],{},"0.0.0.0\u002F0",[400,523,524,529,532,538],{},[421,525,526],{},[306,527,528],{},"PLUGIN_CONTROL_PLANE_TRUST_PROXY",[421,530,531],{},"Доверие прокси",[421,533,534,535],{},"Разбор ",[306,536,537],{},"X-Forwarded-For",[421,539,540],{},[306,541,542],{},"false",[400,544,545,550,553,556],{},[421,546,547],{},[306,548,549],{},"SECRETS_TCP_CONNECT",[421,551,552],{},"Адрес secret-manager",[421,554,555],{},"Резолв секретов",[421,557,558],{},[306,559,560],{},"secret-manager:3000",[400,562,563,568,571,574],{},[421,564,565],{},[306,566,567],{},"FILE_SERVICE_BASE_URL",[421,569,570],{},"Адрес file-service",[421,572,573],{},"Работа с файлами",[421,575,576],{},[306,577,578],{},"http:\u002F\u002Ffile-service:3000",[400,580,581,586,589,592],{},[421,582,583],{},[306,584,585],{},"API_BASE_URL",[421,587,588],{},"Адрес api",[421,590,591],{},"Внутренние вызовы",[421,593,594],{},[306,595,596],{},"http:\u002F\u002Fapi:3000",[400,598,599,608,611,614],{},[421,600,601,604,605],{},[306,602,603],{},"DATABASE_URL"," \u002F ",[306,606,607],{},"REDIS_*",[421,609,610],{},"БД и очереди",[421,612,613],{},"Политика и координация",[421,615,503],{},[328,617,619],{"id":618},"дальше","Дальше",[340,621,622,632],{},[343,623,624,627,628,627,630],{},[625,626,82],"a",{"href":83}," · ",[625,629,90],{"href":91},[625,631,98],{"href":99},[343,633,634,636],{},[625,635,41],{"href":42},": границы CP и engine.",{"title":638,"searchDepth":27,"depth":27,"links":639},"",[640,641,642,643,644,645],{"id":330,"depth":27,"text":331},{"id":337,"depth":27,"text":338},{"id":360,"depth":27,"text":361},{"id":378,"depth":27,"text":379},{"id":391,"depth":27,"text":392},{"id":618,"depth":27,"text":619},"Внутренний ingress Conveyor — приём ack\u002Fresult от исполнителей, policy dispatch и прокси метрик движка.","md",{},true,{"title":86,"description":646},"RRjYeJgHpoC8NwkGKaghj_1XO4hWJdGHaKCFmq7hWyo",[653,655],{"title":82,"path":83,"stem":84,"description":654,"children":-1},"Оркестратор выполнения процессов Conveyor — продвижение графа по шагам, выбор транспорта и диспетчеризация задач.",{"title":90,"path":91,"stem":92,"description":656,"children":-1},"Исполнитель узлов Conveyor — забирает задачи из очереди, выполняет шаг и отдаёт результат в control-plane.",1782081968855]