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

1.3 KiB
Raw Blame History

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