[Feature] add remote operator
- Dominant language
- Python
- Stars
- 485
- Forks
- 81
- Avg merge
- 16h 12m
- Merged PRs (30d)
- 8
Description
**Feature Category**
- [x] Sandbox
- [ ] Actions
- [ ] Deployments
- [ ] SDK & API
- [ ] Envhub
- [ ] CLI
- [ ] Performance & Optimization
- [ ] Documentation & Examples
**Problem Statement**
(1)目前admin只能同时支持一种operator,要么ray,要么k8s,希望能够同时支持多种operator,并自动根据请求路由。
(2)希望增加一种基于远端api的remote operator。
**Proposed Solution**
引入多 operator 架构:OperatorRegistry + Routing Layer + RemoteOperator + Addressing Layer,支持 Ray/K8s/Remote 并存,按 image 等维度声明式路由,既有路径零变更。
**Detailed Feature Description**
OperatorRegistry:配置驱动加载,yaml 出现哪个顶层块就加载哪个 operator
Routing Layer:submit 时按 image_prefix/image_pattern 等规则匹配目标 operator,结果固化到 sandbox meta
RemoteOperator:对接外部REST API,完整实现 submit/get_status/stop/delete
Addressing Layer:远端 sandbox 通过 header-based routing 寻址 client-proxy;本地 sandbox 走原有 host_ip/port,零变更
兼容性:老 yaml 不改照常工作;老 meta 缺字段走 default 兜底;SDK 零变更
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by mapping the proposed OperatorRegistry, Routing Layer, RemoteOperator, and Addressing Layer against the existing Python sandbox implementation. Review the current YAML configuration, submit/status/stop/delete flows, and SDK compatibility requirements. Done means Ray, K8s, and a remote REST-backed operator coexist, requests route by image rules, remote addressing works, and legacy YAML/meta behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100