No description
로드맵 milestone 상태를 archive로 이동하고 작업 메타데이터 추적을 정합성 있게 반영한다. core의 상태 저장 경로 변경 반영과 핸들러 파일 분리로 DTO 처리·라우트 의존을 정리했다. |
||
|---|---|---|
| .antigravitycli | ||
| .claude | ||
| .gemini | ||
| .vscode | ||
| agent-ops | ||
| agent-roadmap | ||
| agent-task/archive/2026 | ||
| agent-test/local | ||
| apps | ||
| packages/flutter/oto_console | ||
| proto/oto | ||
| services/core | ||
| .aiexclude | ||
| .clineignore | ||
| .clinerules | ||
| .codex | ||
| .cursorignore | ||
| .cursorrules | ||
| .geminiignore | ||
| .gitignore | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| check_datapath2.dart | ||
| CLAUDE.md | ||
| GEMINI.md | ||
| Makefile | ||
| opencode.json | ||
| README.md | ||
| test_regist.dart | ||
OTO Monorepo
YAML 기반 CI/CD 파이프라인 자동화 도구 OTO의 Monorepo 프로젝트입니다. 독립 Control Plane 분리 마이그레이션을 통해 Runner, Client, Core Service로 컴포넌트를 분리하여 관리합니다.
프로젝트 구조
/
├── apps/
│ ├── runner/ # Dart CLI 기반 OTO Runner (파이프라인 실행 엔진)
│ └── client/ # Flutter 기반 OTO Console Client (독립 제어 콘솔)
├── services/
│ └── core/ # Go 기반 OTO Control Plane Server (Runner Registry & Bootstrap)
└── Makefile # Monorepo 작업을 위한 루트 진입점 Helper
시작하기
루트 Makefile을 통해 모든 서브프로젝트의 의존성 설치, 분석, 테스트 작업을 통합 관리할 수 있습니다.
Workspace 포트와 환경 기준
OTO는 독립 Control Plane 제품 경로를 기준으로 포트와 환경값을 기록합니다. iop Edge 또는 wire 포트는 OTO workspace 포트 표준의 source of truth가 아닙니다.
| 표면 | 표준 후보 | 호환 기준 |
|---|---|---|
| OTO Core HTTP | backend host publish 18020 |
로컬 실행 기본값 OTO_CORE_ADDR 미설정 시 127.0.0.1:8080은 기존 개발 호환 경로로 유지 |
| Flutter client/web preview | frontend preview 13020 |
preview 포트는 UI dev server 포트이며, 서버 연결 URL은 OTO_SERVER_HTTP_URL로 별도 지정 |
| runner bootstrap/release | OTO_RUNNER_RELEASE_BASE_URL |
release base URL은 https://만 기록하고, token/credential/private endpoint 원문은 tracked 문서에 남기지 않음 |
Core를 workspace publish 포트로 띄울 때는 OTO_CORE_ADDR=0.0.0.0:18020처럼 listen 주소를 명시합니다.
Flutter web preview는 cd apps/client && flutter run -d chrome --web-port=13020을 기준 후보로 둡니다.
bootstrap command와 artifact URL 문서는 public validation 기준과 source of truth만 남기고, enrollment token이나 private release host는 런타임 환경에서만 주입합니다.
의존성 설치 (Setup)
각 앱/서비스의 패키지 및 모듈 의존성을 설치합니다.
make setup
코드 분석 및 린트 (Analyze)
서브프로젝트별 정적 분석을 수행합니다.
make runner-analyze
make client-analyze
테스트 실행 (Test)
개별 서브프로젝트 테스트
make runner-test
make client-test
make core-test
통합 테스트 실행 (전체 서브프로젝트)
make test
서브프로젝트 상세 안내
각 서브프로젝트의 내부 아키텍처 및 상세 사용 방법은 하위 경로의 README 문서를 참조하세요:
- OTO Runner README
- OTO Client README
- OTO Core Server: services/core/