- Add ROADMAP.md and current state tracking - Add 7 milestones (M01-M07) for automation pipeline - Update README.md and project rules
50 lines
3.9 KiB
Markdown
50 lines
3.9 KiB
Markdown
# OTO Roadmap
|
|
|
|
## Overall Goal
|
|
|
|
OTO는 YAML 기반 빌드/배포 파이프라인을 실행하는 Dart CLI에서 출발해, Jenkins 내부 실행 도구에 머물지 않고 Edge에 직접 연결되는 가벼운 build/deploy agent로 확장한다.
|
|
기존 CLI, YAML 파이프라인, 커맨드 확장 모델은 유지하면서 외부 자동화와 원격 제어가 다루기 쉬운 실행 표면을 만든다.
|
|
|
|
## Current Position
|
|
|
|
- Active Phase: Phase 1. CLI 자동화 표면 정리
|
|
- Active Milestone: M01 CLI 자동화 기준선 정리
|
|
- Active Milestone File: `agent-ops/roadmap/milestones/M01-cli-automation-baseline.md`
|
|
|
|
## Phase Overview
|
|
|
|
### Phase 1. CLI 자동화 표면 정리
|
|
|
|
Jenkins, 파일 실행, 스케줄러로 동작하는 현재 CLI 표면을 장기 호환 경계로 정리한다.
|
|
YAML 파이프라인, 커맨드 확장, 단일 바이너리 배포 구조를 OTO의 핵심 경계로 유지하면서 기존 command catalog와 YAML validation 기반을 외부 자동화용 계약으로 확장하고, 실행 결과와 step event를 구조화한다.
|
|
Jenkins는 호환 실행 경로로 남기되 장기 제어면은 Jenkins 전용 환경 변수에 종속시키지 않는다.
|
|
|
|
### Phase 2. Edge bootstrap 기반 `oto-agent`
|
|
|
|
Edge에서 OTO agent를 생성하고 대상 머신에 bootstrap command를 발급하는 흐름을 설계한다.
|
|
Jenkins node 연결식 UX를 Edge 중심 bootstrap 경험으로 재해석해, 대상 머신이 짧은 명령 하나로 agent 설치와 등록을 시작할 수 있게 한다.
|
|
대상 머신은 bootstrap command 실행만으로 OS/arch에 맞는 OTO 바이너리를 설치하고 agent 설정을 생성한다.
|
|
HTTPS를 기본 권장하되 폐쇄망과 개발망을 위해 HTTP local/insecure 모드를 명시적으로 지원하고, TLS를 강제하지 않는 환경의 등록 보안 계약을 정의한다.
|
|
|
|
### Phase 3. 메시지 기반 빌드 에이전트
|
|
|
|
`oto agent` 또는 `oto daemon` 모드에서 Edge와 proto-socket 기반 양방향 메시지 통신을 사용한다.
|
|
OTO는 Edge 입장에서 build/deploy 전용 domain agent로 동작하며, YAML 파이프라인과 커맨드 확장 모델을 원격 제어 가능한 실행 표면으로 노출한다.
|
|
|
|
## Milestone Index
|
|
|
|
| ID | Phase | Status | File | Goal |
|
|
|----|-------|--------|------|------|
|
|
| M01 | Phase 1 | Active | `milestones/M01-cli-automation-baseline.md` | 현재 CLI 실행 모드와 핵심 호환 경계를 명확히 정리한다 |
|
|
| M02 | Phase 1 | Planned | `milestones/M02-structured-automation-surface.md` | 기존 catalog와 validation 기반을 외부 자동화용 출력 계약으로 확장한다 |
|
|
| M03 | Phase 1 | Planned | `milestones/M03-jenkins-compatibility-boundary.md` | Jenkins 호환 경로를 유지하면서 Jenkins 전용 환경 변수 의존을 제어한다 |
|
|
| M04 | Phase 2 | Planned | `milestones/M04-edge-bootstrap-contract.md` | Jenkins node 연결식 UX를 Edge bootstrap 설치/등록 계약으로 정리한다 |
|
|
| M05 | Phase 2 | Planned | `milestones/M05-oto-agent-registration.md` | `oto-agent` 설치 후 Edge 직접 outbound 등록 흐름을 구현 가능한 단위로 정리한다 |
|
|
| M06 | Phase 3 | Planned | `milestones/M06-agent-message-protocol.md` | agent register, capabilities, run request 등 기본 메시지 프로토콜을 정의한다 |
|
|
| M07 | Phase 3 | Planned | `milestones/M07-remote-run-lifecycle.md` | 원격 실행, 로그, artifact, cancel, status, self-update 생명주기를 완성한다 |
|
|
|
|
## Loading Policy
|
|
|
|
- 일반 기능 추가, 구조 변경, 문서 구조 변경 작업에서는 `agent-ops/roadmap/current.md`를 먼저 읽고, 그 안의 Active Milestone 문서를 같은 세션에서 1회 읽는다.
|
|
- `agent-ops/roadmap/ROADMAP.md`는 로드맵 생성/갱신, Phase 전환, Milestone 추가/수정 요청이 있을 때만 읽는다.
|
|
- 작업 요청이 Active Milestone의 Goal 또는 Non-Goals와 충돌하면 구현 전에 사용자에게 알리고 방향을 확인한다.
|