Commit Graph

27 Commits

Author SHA1 Message Date
Lyon 0f9e742ed1 fix(runner): keep session pvc mount provider independent (#239) 2026-06-24 10:02:10 +08:00
lyon 174307dc0c fix(runner): protect active session runners 2026-06-22 12:42:09 +08:00
AgentRun Codex a393e49ed0 fix: retry transient backend timeouts 2026-06-22 07:56:40 +08:00
lyon 2ff57c3139 fix: stop codex stdio after missing terminal 2026-06-22 01:56:24 +08:00
lyon e8e2a50fe4 fix: persist session workspace across runs 2026-06-21 15:11:41 +08:00
lyon 8d297a9823 fix: protect runner cleanup artifacts 2026-06-20 16:27:25 +08:00
lyon e53e7c2c3c fix: trace codex stdio lifecycle 2026-06-20 15:32:46 +08:00
lyon 1be0e8e02f fix: enforce runner retention before job create 2026-06-19 22:35:55 +08:00
lyon 7aece8b902 fix: 持久化 runner 空闲保活策略 2026-06-16 13:00:42 +08:00
lyon 6568d13deb fix: use configured boot repo for runner jobs 2026-06-14 12:07:33 +08:00
Lyon 216209ca95 fix: return recovery action descriptors (#174)
Co-authored-by: AgentRun Codex <agentrun-codex@users.noreply.github.com>
2026-06-12 01:20:02 +08:00
Lyon 83a303959e fix: bound runner git transport (#169)
Co-authored-by: AgentRun Codex <agentrun-codex@users.noreply.github.com>
2026-06-11 13:46:15 +08:00
Lyon c8b16260b8 fix: provision session pvc before runner dispatch (#168)
Co-authored-by: AgentRun Codex <agentrun-codex@users.noreply.github.com>
2026-06-11 13:11:20 +08:00
AgentRun Codex 5a6e5a4bbd fix: add aipod imageRef work-ready runner reuse 2026-06-11 01:21:56 +08:00
Codex 6989dc18ef feat: add aipod spec Artificer assembly 2026-06-10 17:46:45 +08:00
Codex e8b0b7896a fix: runner proxy and transient env secret 2026-06-09 22:49:53 +08:00
Codex c1018efb65 fix: assemble UniDesk SSH endpoint env 2026-06-09 21:33:02 +08:00
Codex f08a4e75cd feat(v0.1): runner Job 直接挂载 per-session PVC + env 透传
PR C 起步:k8s-job.ts 加 sessionPvc volume + env passthrough

- src/runner/k8s-job.ts: 新 RunnerSessionPvcOptions 接口;manifest 多渲染
  agentrun-sessions volume + volumeMount;env 多透传 AGENTRUN_SESSION_PVC_NAME /
  _NAMESPACE / _MOUNT_PATH / AGENTRUN_CODEX_ROLLOUT_SUBDIR
- src/mgr/kubernetes-runner-job.ts: run 引用 session 时查 session storage
  kind=pvc 自动构造 sessionPvc 透传给 manifest 渲染;kind=evicted 已在
  PR B 短路返回 session-store-evicted
- selftest: 1 新 case runner-k8s-job-session-pvc-volume-and-env 验证 PVC volume
  + env 全套透传

后续 PR C 剩余:src/backend/codex-stdio.ts emit codex-rollout-storage-mounted
事件 + session-store-evicted 升级;3 个 codex-stdio 端到端 case。
2026-06-03 20:21:03 +08:00
Codex e8cfa4c692 feat(v0.1): add mgr session PVC lifecycle for true session state persistence
PR B for #770: mgr/session-pvc.ts + server endpoints + selftest.

- 新模块 src/mgr/session-pvc.ts: createSessionPvc / getSessionPvcSummary / deleteSessionPvc / refreshSessionPvcSummary / runSessionStorageGc / startSessionStorageGcLoop
- Server 增量 4 个 endpoint:
  * POST /api/v1/sessions: 创建 session 同步创建 PVC
  * GET /api/v1/sessions/:id/storage: 查询 PVC 摘要
  * DELETE /api/v1/sessions/:id/storage: 删 PVC + storage_kind=evicted
  * POST /api/v1/sessions/:id/storage/refresh: runner 上报 PVC 摘要
  * POST /api/v1/sessions/storage/gc: 手动触发 GC
- mgr SA RBAC 已在 PR A 增加;manager server 不直连 Kubernetes API(kubectl 由 mgr 容器内执行)
- SessionRecord 增量 storageKind / storagePvcName / storageNamespace / storageSizeBytes / storageFilesCount / storageSha256 / storageUpdatedAt / storagePvcPhase / storageEvictedAt / codexRolloutSubdir
- kubernetes-runner-job 短路:run 引用 evicted session 时直接返回 session-store-evicted,不创建 runner Job
- KubectlHandler 可注入,selftest 覆盖 create / summary / refresh / eviction / gc / REST 路径
- GC loop 默认 5min(AGENTRUN_SESSION_GC_INTERVAL_MS 可调)

runner / backend / HWLAB adapter 在 PR C / PR D 落地。
2026-06-03 19:19:09 +08:00
Codex 458d814fa2 feat: 装配 UniDesk SSH 工具凭证 2026-06-02 15:40:48 +08:00
Codex 82e2349030 fix: 放开 transientEnv 数量限制 2026-06-02 08:24:22 +08:00
Codex 159b99e763 feat: 支持 runner tool credential 装配 2026-06-02 00:22:38 +08:00
Codex 44ff391918 feat: 支持 runner transient env 2026-06-01 17:50:13 +08:00
Codex 62846f6369 feat: 补齐 HWLAB 手动调度能力 2026-06-01 11:40:08 +08:00
Codex 860da3c387 fix: 收口 v0.1 规格缺口 2026-05-29 17:38:47 +08:00
Codex da50a34eef fix: prepare writable codex home for runner jobs 2026-05-29 13:27:11 +08:00
Codex 2b8a5dfc99 feat: 打通 v0.1 runner job 正式路径 2026-05-29 12:44:37 +08:00