# IOP — Inference Operations Platform IOP는 단일 서비스가 아닌 플랫폼이다. 여러 앱이 협력하여 AI 모델 추론 워크로드를 처리한다. ## 앱 구성 | 앱 | 책임 | |---|---| | `apps/node` | 디바이스별 node agent. 런타임 라우팅, 추론 어댑터 실행, edge 연결을 담당한다. | | `apps/edge` | node 등록, 레지스트리, transport, 콘솔 기반 요청 전달을 담당하는 gateway이다. | | `apps/control-plane` | 노드 등록, 정책, 스케줄링 제어 영역이다. | | `apps/worker` | 비동기 작업 처리 영역이다. | ## 내부 통신 - **프로토콜**: TCP + Protobuf + mTLS - **메시지 계약**: `proto/iop/*.proto` - **생성물**: `proto/gen/iop/*.pb.go` - gRPC **사용 금지** - WebSocket transport 기본화 **금지** ## 외부 API 외부 OpenAI-compatible API는 `apps/edge`의 책임 영역으로 둔다. ## 기본 명령 예시 ```bash # 의존성 설치 go mod tidy # node CLI 빌드 예시 go build -o bin/node ./apps/node/cmd/node # node CLI 실행 예시 ./bin/node version ./bin/node config print ./bin/node serve ``` ## 모노레포 구조 ``` iop/ apps/ node/ edge/ control-plane/ worker/ packages/ # 공통 패키지 proto/ # Protobuf 스펙과 생성물 configs/ # 앱별 설정 파일 docs/ # 아키텍처와 운영 문서 ```