oto/agent-ops/roadmap/milestones/edge-bootstrap-contract.md

68 lines
3.8 KiB
Markdown

# Edge bootstrap 계약
## 목표
Jenkins node 연결식 UX를 Edge 중심 bootstrap 경험으로 재해석한다.
Edge에서 OTO agent를 생성하고 대상 머신에서 실행할 bootstrap command를 발급하는 UX와 설치/등록 계약을 정의한다.
## 단계
Edge 직접 연결 기반 `oto-agent`
## 상태
보류
## 구현 잠금
- 상태: 잠금
- 이유: iop의 Agent Bootstrap과 OTO 등록에서 Edge bootstrap 사용자 흐름, bootstrap command 요구사항, 보안 모드 기준이 아직 확정되지 않은 보류 Milestone이다.
- 해제 조건:
- [ ] OTO-iop proto-socket 통신 기반에서 최소 transport/handshake 책임 경계가 문서화됨
- [ ] iop의 Agent Bootstrap과 OTO 등록에서 agent registry, bootstrap command, credential 흐름, 보안 검증 기준이 문서화됨
- [ ] OTO 설치/등록 책임과 iop Edge 책임 경계가 구체화됨
- [ ] 사용자가 이 Milestone의 구현 구체화와 잠금 해제를 명시적으로 승인함
- 잠금 중 금지:
- 코드 구현 또는 `agent-task` 구현 계획 생성
- Edge 서버 API, agent registry, credential schema를 OTO에서 추측해 확정
- `iop-node` 연동 또는 메시지 기반 run request 프로토콜을 선구현
## 범위
- Jenkins node를 연결하듯 Edge에서 agent 생성과 bootstrap command 발급을 시작하는 사용자 흐름을 정의한다.
- Edge가 발급하는 bootstrap command의 입력, 출력, 만료, 재시도 정책을 정의한다.
- 대상 머신의 OS/arch에 맞는 OTO 바이너리 설치 경로를 정리한다.
- agent 설정 파일 생성 위치와 최소 설정 값을 정의한다.
- HTTPS 기본 권장, HTTP local/insecure 허용 범위, 폐쇄망 사용 조건을 구분한다.
## 필수 기능
- [ ] [edge-user-flow] Edge에서 agent 생성 후 bootstrap command를 발급하는 사용자 흐름이 정의되어 있다.
- [ ] [command-shape] bootstrap command 형식과 필수 인자가 정의되어 있다.
- [ ] [binary-select] OS/arch별 바이너리 선택 규칙이 정의되어 있다.
- [ ] [config-path] agent 설정 생성 경로와 필수 설정 값이 정의되어 있다.
- [ ] [security-modes] HTTPS, HTTP local, insecure 모드의 허용 조건이 문서화되어 있다.
## 완료 기준
- [ ] Jenkins node 연결식 경험과 비교해 사용자가 Edge bootstrap 흐름을 이해할 수 있다.
- [ ] 사용자가 Edge에서 발급받은 command 하나로 대상 머신에 OTO agent 설치를 시작할 수 있는 흐름이 설명된다.
- [ ] 보안 모드별 요구 사항과 위험이 구분되어 구현 전에 검토 가능하다.
- [ ] 폐쇄망 배포와 개발망 테스트가 같은 계약 안에서 설명된다.
## 범위 제외
- 실제 Edge 서버 API를 구현하지 않는다.
- 메시지 기반 run request 프로토콜을 구현하지 않는다.
- iop-node 연동을 추가하지 않는다.
## 작업 컨텍스트
- 기존 packaging 자료와 설치 스크립트(`assets/package/**`, `assets/script/**`)를 먼저 확인한다.
- framework, cli 도메인 rule이 관련될 수 있다.
- 선행 OTO Milestone: OTO-iop proto-socket 통신 기반
- 선행 iop Milestone: `../iop/agent-ops/roadmap/milestones/agent-bootstrap-oto-enrollment.md`
- 책임 경계: iop는 Edge의 agent 생성, bootstrap command 발급, registry, credential, 보안 검증 기준을 정리한다.
- 책임 경계: OTO는 iop가 정한 bootstrap 계약을 바탕으로 OTO 바이너리 선택, 설치 시작 command, agent 설정 파일 생성 기준을 정리한다.
- 보류 사유: Edge bootstrap 계약은 iop에서 선행 진행되어야 하므로 OTO 쪽 작업은 pending 상태로 둔다.
- 재개 조건: iop에서 Edge bootstrap 사용자 흐름, bootstrap command 요구사항, 보안 모드 기준이 먼저 정리된 뒤 OTO 쪽 계약 문서와 구현 범위를 확정한다.