3.1 KiB
3.1 KiB
원격 터미널 브리지 POC
목표
Agent를 설치하기 어려운 host/device를 위해 원격 터미널 브리지 POC를 만든다. Edge는 terminal session broker가 되고, 대상에 도달 가능한 Node가 SSH/WinRM/serial/local shell 같은 terminal transport를 실행해 relay한다.
단계
Automation Runtime과 Bridge 확장
상태
계획
구현 잠금
- 상태: 잠금
- 이유: terminal session 책임 경계와 protocol/event 모델을 정리하는 게이트 문서이며, 구현 가능한 세부 설계가 아직 확정되지 않았다.
- 해제 조건:
- terminal session lifecycle, protocol/event, 보안 전제가 문서화됨
- Control Plane/Portal/운영 CLI와 Edge/Node 책임 경계가 구체화됨
- 사용자가 이 Milestone의 구현 구체화와 잠금 해제를 명시적으로 승인함
- 잠금 중 금지:
- 코드 구현 또는
agent-task구현 계획 생성 - API/DB/package/file 구조를 추측해 확정
- OpenAI-compatible API나 A2A payload에 terminal 제어 기능을 선확정
- 코드 구현 또는
범위
- CLI persistent terminal profile 기반 remote shell POC
- terminal session open/input/output/resize/signal/close event 모델 초안
- Edge가 session broker, Node가 terminal transport 실행자라는 책임 경계 검증
- 대상 접근 경로와 credential이 있는 경우만 제어할 수 있다는 전제 명시
- target allowlist, timeout, 동시 실행 제한, session audit 요구사항 초안
필수 기능
- [agentless-boundary] 원격 터미널 브리지는 완전 agentless 제어가 아니라 target device에 IOP agent를 설치하지 않는 운영 경로로 정의한다.
- [edge-broker] Control Plane/Portal/운영 CLI는 Edge에 terminal session을 요청하고, Node에 직접 붙지 않는다.
- [node-transport] Node terminal transport는 adapter/profile 또는 별도 adapter 경계에서 실행된다.
- [terminal-events] stdin/stdout/stderr, resize, signal, close lifecycle을 IOP native protocol에서 표현하는 방향을 검증한다.
완료 기준
- 허용된 target profile을 통해 Edge에서 remote shell session을 열고 입출력을 relay할 수 있다.
- session lifecycle과 adapter execution stream의 경계가 문서화된다.
- 보안 전제(target allowlist, credential, timeout, audit)가 milestone 산출물에 포함된다.
- OpenAI-compatible API나 A2A task payload에 terminal 제어 기능을 억지로 싣지 않는다.
범위 제외
- 접근 경로가 없는 target device의 제어 보장
- Control Plane이 Node 또는 target terminal에 직접 연결
- 모든 terminal transport 구현을 한 번에 지원
- 정책/audit 상세 schema 확정
작업 컨텍스트
- 관련 앱:
apps/edge,apps/node - 관련 문서:
docs/architecture.md,docs/deploy-dev.md - 선행 Milestone: Edge-Node 실행 스켈레톤, CLI Automation Runtime 안정화
- 병렬 후보: Agent Bootstrap과 OTO 등록. 설치 가능한 대상은 bootstrap/enrollment 경로로, 설치가 어렵거나 일회성 유지보수 대상은 remote terminal bridge 경로로 구분한다.