[2026-10-18] eagle: personal/plans/balda-callee-prism-plan.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-18 01:08:36 +06:00
1 parent d8aa782458
commit 3256137159
1 file changed
+19
+19
View File
@@ -51,6 +51,25 @@ GitHub Actions Broker main не стартовал из-за account billing/spe
Исторические исследования и PR-дневник сохранены отдельно: [[personal/projects/archive/balda-callee-prism-plan-through-2026-10-14]]. Они не описывают текущую установку.
## Открытый пункт: SSH-доступ (generic flow того, как добавлять хост)
Общий флоу добавления нового SSH-хоста в broker (применимо к любому хосту, Кракен — первый кандидат):
1. **Креденшел** — SSH-credential создаётся администраторомBroker'а (не из Balda/MCP). Список виден через `execution_ssh_profiles`.
2. **Каталог команд** — на стороне broker'а в `helper_command`-конфиге (сейчас `/etc/execution-host-runner/ssh-catalog.json`) описываются разрешённые команды (`argv`, аргументы, `approval_required`). Без пополнения каталога хост бесполезен для реальных задач.
3. **Host key** — публичный host key самого сервера (не юзерский ключ!), его надо получить либо с машины, имеющей доступ к хосту (`ssh-keyscan -t rsa <ip>`), либо прямо с `ssh <host> cat /etc/ssh/ssh_host_rsa_key.pub`.
4. **Заявка** — из Balda: `execution_ssh_request_host` с `address`, `user`, `host_key`, `credential`, `catalog`, `ttl_seconds`; идемпотентность по тому же ключу.
5. **Owner approval** — подтверждение приходит независимо в Telegram-бот, до этого соединений нет.
6. **Работа** — `execution_ssh_run` с idempotency key; статус через `execution_ssh_status`. `approval_required=false` позволяет автоматизировать read-only задачи.
Открытые пункты флоу — это же план доработки брокера (не закрыты в рамках приёмки 2026-10-16):
1. **Каталог** (адаптер broker'а) — нет механизма добавления новых команд в `/etc/execution-host-runner/ssh-catalog.json` «без телодвижений»: сейчас правка файла руками, нет API/webhook для этого.
2. **`execution-host-runner` не доведён по статусу «планирование завершено».** Сервис, исполняющий каталог-команды, не прошёл завершение на этапах, которые сам себе определил: изменения каталога не перечитываются на лету (нужен reload), нет валидации консистентности каталога при загрузке. Конкретная доработка runner'а в объём приёмки не входила и остаётся открытой.
3. **TTL/ротация** — нет long-lived режима для постоянных инфраструктурных хостов (Кракен); `ttl_seconds` сегодня заточен под разовую заявку.
4. **Аудит** — не решено, куда складывать лог выполненных SSH-команд и кто его читает.
Статус пунктов 1–4: план написан, работа не начата.
## Открытый пункт: SSH-доступ к Kraken через Execution Broker
**Статус: НЕ сделано.** В принятый объём приёмки 2026-10-16 SSH-хосты не входили; прямого owner SSH-доступа к Kraken в broker'е сейчас нет (профиль `kraken-scoped` есть, хост не зарегистрирован).