重构 workload class 与 placement driver #54

Merged
panxiao81 merged 1 commits from refactor/workload-placement into main 2026-09-25 17:11:02 +00:00
Owner

变更

  • 将 workload class(container/vm)与执行 driver(kubernetes/opensandbox)拆分
  • assignment wire 升级到 v2,JetStream subject/durable 按 placement 隔离
  • controller lifecycle 与容量池改为 placement 注册表,后续可直接注册 Incus driver
  • 规范标签为 [self-hosted, container, kubernetes] 与 [self-hosted, vm, opensandbox]
  • 保留 pod、vm、vm-dev 以及旧组件名作为严格兼容别名,不允许 driver fallback
  • backend metadata、executor 环境与 runner registration 同步携带 class/driver
  • 更新 README 与设计文档

验证

  • go test ./...
  • go vet ./...
  • git diff --check

上线约束

这是 assignment wire v2 的干净切换。合并后不要立即 rollout;先等待旧 JetStream assignment、运行中的 executor 与 Gitea CI job 全部清空,再同步检查 stream subject 覆盖 <subject-base>.*.* 后部署。此次不包含 Incus driver。

## 变更 - 将 workload class(container/vm)与执行 driver(kubernetes/opensandbox)拆分 - assignment wire 升级到 v2,JetStream subject/durable 按 placement 隔离 - controller lifecycle 与容量池改为 placement 注册表,后续可直接注册 Incus driver - 规范标签为 `[self-hosted, container, kubernetes]` 与 `[self-hosted, vm, opensandbox]` - 保留 `pod`、`vm`、`vm-dev` 以及旧组件名作为严格兼容别名,不允许 driver fallback - backend metadata、executor 环境与 runner registration 同步携带 class/driver - 更新 README 与设计文档 ## 验证 - `go test ./...` - `go vet ./...` - `git diff --check` ## 上线约束 这是 assignment wire v2 的干净切换。合并后不要立即 rollout;先等待旧 JetStream assignment、运行中的 executor 与 Gitea CI job 全部清空,再同步检查 stream subject 覆盖 `<subject-base>.*.*` 后部署。此次不包含 Incus driver。
panxiao81 added 1 commit 2026-09-25 16:49:17 +00:00
refactor: separate workload class from placement driver
test / shell (pull_request) Successful in 28s
test / python (pull_request) Successful in 59s
test / go (pull_request) Successful in 3m35s
897d327a26
panxiao81 merged commit 6ea78d4704 into main 2026-09-25 17:11:02 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: panxiao81/gitea-dynamic-runner#54