Files
model-platform/contracts/runtime/README.md
T

27 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Runtime Adapter 契约
`runtime_adapter.py` 是 Runtime Manager 与具体运行环境之间的可执行契约。
当前 Compose 环境使用 `SharedJupyterAdapter`。它把共享 Jupyter Server 作为
首期 Provider,并在 MySQL 中为每个 `Workspace` 建立并复用一个逻辑
Runtime。每个打开的 Notebook 在该 Runtime 中建立独立 Jupyter Session
每个 Session 绑定自己的 Kernel。
后续 Docker/Kubernetes Provider 必须实现同一 Protocol,公共锁接口和
`runtime_instances` 状态模型保持不变。
核心约束:
- `ensure_running` 对同一作用域必须幂等;
- Runtime 的唯一复用作用域是 Workspace,不能按用户重复创建;
- Runtime 的期望状态、实际状态和租约写入 MySQL;
- Notebook 对应独立 Jupyter Session/Kernel,其创建和终止只能由 Runtime
Manager 调用;
- Provider 不能依赖 Platform API 的进程内状态;
- `proxy_base_path` 与 Jupyter 内部 `base_url` 必须一致。
- Provider 调用必须携带内部服务凭据,不能通过关闭 XSRF 检查规避认证;
- Workspace 的目录、文件权限必须同时满足 Platform 原子写入和 Jupyter
读写,当前 Compose 环境使用共享 Unix 组完成。
Jupyter 浏览器代理、访问票据和 WebSocket 约束见
`jupyter-proxy-v1.md`