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

3.8 KiB

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 쪽 계약 문서와 구현 범위를 확정한다.